summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2021-11-07 15:18:49 +0100
committerBalint Reczey <balint@balintreczey.hu>2021-11-07 15:18:49 +0100
commit749c1780621163ca5108f164861324bafa9e0ae8 (patch)
tree51001872624a692018c45bf39276df94b603fb19
parentd906ecd3b652d95af6ffb974a2f6669501bb9496 (diff)
downloadshadow-749c1780621163ca5108f164861324bafa9e0ae8.tar.gz
New upstream version 4.9upstream/4.9
-rw-r--r--ChangeLog23
-rw-r--r--Makefile.am13
-rw-r--r--Makefile.in41
-rw-r--r--README2
-rw-r--r--aclocal.m411742
-rwxr-xr-xcompile13
-rw-r--r--config.h.in27
-rwxr-xr-xconfigure1133
-rw-r--r--configure.ac49
-rw-r--r--contrib/Makefile.in30
-rwxr-xr-xdepcomp8
-rw-r--r--doc/Makefile.in30
-rw-r--r--etc/Makefile.am3
-rw-r--r--etc/Makefile.in36
-rw-r--r--etc/login.defs53
-rw-r--r--etc/pam.d/Makefile.in30
-rw-r--r--etc/useradd8
-rwxr-xr-xinstall-sh36
-rw-r--r--lib/Makefile.am4
-rw-r--r--lib/Makefile.in289
-rw-r--r--lib/commonio.c52
-rw-r--r--lib/commonio.h6
-rw-r--r--lib/defines.h10
-rw-r--r--lib/encrypt.c5
-rw-r--r--lib/getdef.c31
-rw-r--r--lib/groupmem.c47
-rw-r--r--lib/nscd.c8
-rw-r--r--lib/nss.c149
-rw-r--r--lib/prototypes.h70
-rw-r--r--lib/run_part.c102
-rw-r--r--lib/run_part.h2
-rw-r--r--lib/selinux.c63
-rw-r--r--lib/semanage.c58
-rw-r--r--lib/sgetspent.c1
-rw-r--r--lib/shadow.c3
-rw-r--r--lib/spawn.c8
-rw-r--r--lib/sssd.c14
-rw-r--r--lib/subordinateio.c382
-rw-r--r--lib/subordinateio.h11
-rw-r--r--lib/tcbfuncs.c64
-rw-r--r--libmisc/Makefile.am6
-rw-r--r--libmisc/Makefile.in439
-rw-r--r--libmisc/addgrps.c10
-rw-r--r--libmisc/audit_help.c2
-rw-r--r--libmisc/chowntty.c3
-rw-r--r--libmisc/cleanup_group.c4
-rw-r--r--libmisc/cleanup_user.c4
-rw-r--r--libmisc/copydir.c24
-rw-r--r--libmisc/env.c2
-rw-r--r--libmisc/failure.c2
-rw-r--r--libmisc/find_new_gid.c18
-rw-r--r--libmisc/find_new_sub_gids.c7
-rw-r--r--libmisc/find_new_sub_uids.c7
-rw-r--r--libmisc/find_new_uid.c18
-rw-r--r--libmisc/getdate.c408
-rw-r--r--libmisc/gettime.c10
-rw-r--r--libmisc/idmapping.c60
-rw-r--r--libmisc/idmapping.h2
-rw-r--r--libmisc/limits.c2
-rw-r--r--libmisc/list.c1
-rw-r--r--libmisc/log.c4
-rw-r--r--libmisc/myname.c3
-rw-r--r--libmisc/obscure.c3
-rw-r--r--libmisc/pam_pass.c8
-rw-r--r--libmisc/pam_pass_non_interactive.c10
-rw-r--r--libmisc/prefix_flag.c22
-rw-r--r--libmisc/pwdcheck.c2
-rw-r--r--libmisc/root_flag.c26
-rw-r--r--libmisc/salt.c466
-rw-r--r--libmisc/setupenv.c2
-rw-r--r--libmisc/user_busy.c7
-rw-r--r--libmisc/utmp.c8
-rw-r--r--libmisc/xgetXXbyYY.c6
-rw-r--r--libmisc/xmalloc.c9
-rw-r--r--libsubid/Makefile.am29
-rw-r--r--libsubid/Makefile.in747
-rw-r--r--libsubid/api.c130
-rw-r--r--libsubid/subid.h151
-rw-r--r--ltmain.sh213
-rw-r--r--m4/gettext.m4417
-rw-r--r--m4/iconv.m4101
-rw-r--r--m4/lib-ld.m4110
-rw-r--r--m4/lib-link.m4644
-rw-r--r--m4/lib-prefix.m4185
-rw-r--r--m4/libtool.m48387
-rw-r--r--m4/ltoptions.m4437
-rw-r--r--m4/ltsugar.m4124
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m499
-rw-r--r--m4/nls.m431
-rw-r--r--m4/po.m4428
-rw-r--r--m4/progtest.m492
-rw-r--r--man/Makefile.am3
-rw-r--r--man/Makefile.in35
-rw-r--r--man/chage.1.xml22
-rw-r--r--man/cs/Makefile.in30
-rw-r--r--man/da/Makefile.in30
-rw-r--r--man/da/man1/chfn.16
-rw-r--r--man/da/man1/groups.16
-rw-r--r--man/da/man1/id.16
-rw-r--r--man/da/man1/newgrp.16
-rw-r--r--man/da/man1/sg.16
-rw-r--r--man/da/man5/gshadow.56
-rw-r--r--man/da/man8/groupdel.811
-rw-r--r--man/da/man8/logoutd.86
-rw-r--r--man/da/man8/nologin.86
-rw-r--r--man/da/man8/vipw.86
-rw-r--r--man/de/Makefile.in30
-rw-r--r--man/de/man1/chage.133
-rw-r--r--man/de/man1/chfn.16
-rw-r--r--man/de/man1/chsh.18
-rw-r--r--man/de/man1/expiry.16
-rw-r--r--man/de/man1/gpasswd.112
-rw-r--r--man/de/man1/groups.16
-rw-r--r--man/de/man1/id.16
-rw-r--r--man/de/man1/login.16
-rw-r--r--man/de/man1/newgrp.16
-rw-r--r--man/de/man1/passwd.112
-rw-r--r--man/de/man1/sg.16
-rw-r--r--man/de/man1/su.16
-rw-r--r--man/de/man3/shadow.36
-rw-r--r--man/de/man5/faillog.56
-rw-r--r--man/de/man5/gshadow.56
-rw-r--r--man/de/man5/limits.56
-rw-r--r--man/de/man5/login.access.56
-rw-r--r--man/de/man5/login.defs.528
-rw-r--r--man/de/man5/passwd.510
-rw-r--r--man/de/man5/porttime.56
-rw-r--r--man/de/man5/shadow.514
-rw-r--r--man/de/man5/suauth.56
-rw-r--r--man/de/man8/chgpasswd.812
-rw-r--r--man/de/man8/chpasswd.812
-rw-r--r--man/de/man8/faillog.86
-rw-r--r--man/de/man8/groupadd.827
-rw-r--r--man/de/man8/groupdel.811
-rw-r--r--man/de/man8/groupmems.86
-rw-r--r--man/de/man8/groupmod.827
-rw-r--r--man/de/man8/grpck.814
-rw-r--r--man/de/man8/lastlog.810
-rw-r--r--man/de/man8/logoutd.86
-rw-r--r--man/de/man8/newusers.818
-rw-r--r--man/de/man8/nologin.86
-rw-r--r--man/de/man8/pwck.813
-rw-r--r--man/de/man8/pwconv.88
-rw-r--r--man/de/man8/sulogin.86
-rw-r--r--man/de/man8/useradd.830
-rw-r--r--man/de/man8/userdel.821
-rw-r--r--man/de/man8/usermod.818
-rw-r--r--man/de/man8/vipw.86
-rw-r--r--man/es/Makefile.in30
-rw-r--r--man/fi/Makefile.in30
-rw-r--r--man/fr/Makefile.in30
-rw-r--r--man/fr/man1/chage.133
-rw-r--r--man/fr/man1/chfn.16
-rw-r--r--man/fr/man1/chsh.16
-rw-r--r--man/fr/man1/expiry.16
-rw-r--r--man/fr/man1/gpasswd.112
-rw-r--r--man/fr/man1/groups.16
-rw-r--r--man/fr/man1/id.16
-rw-r--r--man/fr/man1/login.16
-rw-r--r--man/fr/man1/newgidmap.115
-rw-r--r--man/fr/man1/newgrp.16
-rw-r--r--man/fr/man1/newuidmap.115
-rw-r--r--man/fr/man1/passwd.112
-rw-r--r--man/fr/man1/sg.16
-rw-r--r--man/fr/man1/su.16
-rw-r--r--man/fr/man3/shadow.36
-rw-r--r--man/fr/man5/faillog.56
-rw-r--r--man/fr/man5/gshadow.56
-rw-r--r--man/fr/man5/limits.56
-rw-r--r--man/fr/man5/login.access.56
-rw-r--r--man/fr/man5/login.defs.528
-rw-r--r--man/fr/man5/passwd.510
-rw-r--r--man/fr/man5/porttime.56
-rw-r--r--man/fr/man5/shadow.514
-rw-r--r--man/fr/man5/suauth.56
-rw-r--r--man/fr/man5/subgid.528
-rw-r--r--man/fr/man5/subuid.528
-rw-r--r--man/fr/man8/chgpasswd.812
-rw-r--r--man/fr/man8/chpasswd.812
-rw-r--r--man/fr/man8/faillog.86
-rw-r--r--man/fr/man8/groupadd.827
-rw-r--r--man/fr/man8/groupdel.811
-rw-r--r--man/fr/man8/groupmems.86
-rw-r--r--man/fr/man8/groupmod.827
-rw-r--r--man/fr/man8/grpck.814
-rw-r--r--man/fr/man8/lastlog.810
-rw-r--r--man/fr/man8/logoutd.86
-rw-r--r--man/fr/man8/newusers.818
-rw-r--r--man/fr/man8/nologin.86
-rw-r--r--man/fr/man8/pwck.813
-rw-r--r--man/fr/man8/pwconv.88
-rw-r--r--man/fr/man8/sulogin.86
-rw-r--r--man/fr/man8/useradd.830
-rw-r--r--man/fr/man8/userdel.821
-rw-r--r--man/fr/man8/usermod.818
-rw-r--r--man/fr/man8/vipw.86
-rw-r--r--man/groupadd.8.xml20
-rw-r--r--man/groupdel.8.xml11
-rw-r--r--man/groupmod.8.xml27
-rw-r--r--man/grpck.8.xml12
-rw-r--r--man/hu/Makefile.in30
-rw-r--r--man/id/Makefile.in30
-rw-r--r--man/it/Makefile.in30
-rw-r--r--man/it/man1/chage.133
-rw-r--r--man/it/man1/chfn.16
-rw-r--r--man/it/man1/chsh.16
-rw-r--r--man/it/man1/expiry.16
-rw-r--r--man/it/man1/gpasswd.112
-rw-r--r--man/it/man1/groups.16
-rw-r--r--man/it/man1/id.16
-rw-r--r--man/it/man1/login.16
-rw-r--r--man/it/man1/newgrp.16
-rw-r--r--man/it/man1/passwd.112
-rw-r--r--man/it/man1/sg.16
-rw-r--r--man/it/man1/su.16
-rw-r--r--man/it/man3/shadow.36
-rw-r--r--man/it/man5/faillog.56
-rw-r--r--man/it/man5/gshadow.56
-rw-r--r--man/it/man5/limits.56
-rw-r--r--man/it/man5/login.access.56
-rw-r--r--man/it/man5/login.defs.528
-rw-r--r--man/it/man5/passwd.510
-rw-r--r--man/it/man5/porttime.56
-rw-r--r--man/it/man5/shadow.514
-rw-r--r--man/it/man5/suauth.56
-rw-r--r--man/it/man8/chgpasswd.812
-rw-r--r--man/it/man8/chpasswd.812
-rw-r--r--man/it/man8/faillog.86
-rw-r--r--man/it/man8/groupadd.827
-rw-r--r--man/it/man8/groupdel.811
-rw-r--r--man/it/man8/groupmems.86
-rw-r--r--man/it/man8/groupmod.827
-rw-r--r--man/it/man8/grpck.814
-rw-r--r--man/it/man8/lastlog.810
-rw-r--r--man/it/man8/logoutd.86
-rw-r--r--man/it/man8/newusers.818
-rw-r--r--man/it/man8/nologin.86
-rw-r--r--man/it/man8/pwck.813
-rw-r--r--man/it/man8/pwconv.88
-rw-r--r--man/it/man8/sulogin.86
-rw-r--r--man/it/man8/useradd.830
-rw-r--r--man/it/man8/userdel.821
-rw-r--r--man/it/man8/usermod.818
-rw-r--r--man/it/man8/vipw.86
-rw-r--r--man/ja/Makefile.in30
-rw-r--r--man/ko/Makefile.in30
-rw-r--r--man/lastlog.8.xml7
-rw-r--r--man/login.defs.5.xml4
-rw-r--r--man/login.defs.d/ENCRYPT_METHOD.xml3
-rw-r--r--man/login.defs.d/HMAC_CRYPTO_ALGO.xml44
-rw-r--r--man/login.defs.d/HOME_MODE.xml43
-rw-r--r--man/login.defs.d/NONEXISTENT.xml41
-rw-r--r--man/login.defs.d/PASS_MIN_DAYS.xml2
-rw-r--r--man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml2
-rw-r--r--man/man1/chage.133
-rw-r--r--man/man1/chfn.16
-rw-r--r--man/man1/chsh.16
-rw-r--r--man/man1/expiry.16
-rw-r--r--man/man1/gpasswd.112
-rw-r--r--man/man1/groups.16
-rw-r--r--man/man1/id.16
-rw-r--r--man/man1/login.16
-rw-r--r--man/man1/newgidmap.115
-rw-r--r--man/man1/newgrp.16
-rw-r--r--man/man1/newuidmap.115
-rw-r--r--man/man1/passwd.112
-rw-r--r--man/man1/sg.16
-rw-r--r--man/man1/su.16
-rw-r--r--man/man3/shadow.36
-rw-r--r--man/man5/faillog.56
-rw-r--r--man/man5/gshadow.56
-rw-r--r--man/man5/limits.56
-rw-r--r--man/man5/login.access.56
-rw-r--r--man/man5/login.defs.528
-rw-r--r--man/man5/passwd.510
-rw-r--r--man/man5/porttime.56
-rw-r--r--man/man5/shadow.514
-rw-r--r--man/man5/suauth.56
-rw-r--r--man/man5/subgid.528
-rw-r--r--man/man5/subuid.528
-rw-r--r--man/man8/chgpasswd.812
-rw-r--r--man/man8/chpasswd.812
-rw-r--r--man/man8/faillog.86
-rw-r--r--man/man8/groupadd.827
-rw-r--r--man/man8/groupdel.811
-rw-r--r--man/man8/groupmems.86
-rw-r--r--man/man8/groupmod.827
-rw-r--r--man/man8/grpck.814
-rw-r--r--man/man8/lastlog.810
-rw-r--r--man/man8/logoutd.86
-rw-r--r--man/man8/newusers.818
-rw-r--r--man/man8/nologin.86
-rw-r--r--man/man8/pwck.813
-rw-r--r--man/man8/pwconv.88
-rw-r--r--man/man8/sulogin.86
-rw-r--r--man/man8/useradd.830
-rw-r--r--man/man8/userdel.821
-rw-r--r--man/man8/usermod.818
-rw-r--r--man/man8/vipw.86
-rw-r--r--man/newgidmap.1.xml14
-rw-r--r--man/newuidmap.1.xml12
-rw-r--r--man/newusers.8.xml10
-rw-r--r--man/passwd.5.xml7
-rw-r--r--man/pl/Makefile.in30
-rw-r--r--man/pl/man1/chage.133
-rw-r--r--man/pl/man1/chsh.16
-rw-r--r--man/pl/man1/expiry.16
-rw-r--r--man/pl/man1/groups.16
-rw-r--r--man/pl/man1/id.16
-rw-r--r--man/pl/man1/newgrp.16
-rw-r--r--man/pl/man1/sg.16
-rw-r--r--man/pl/man3/shadow.36
-rw-r--r--man/pl/man5/faillog.56
-rw-r--r--man/pl/man5/porttime.56
-rw-r--r--man/pl/man8/faillog.86
-rw-r--r--man/pl/man8/groupadd.827
-rw-r--r--man/pl/man8/groupdel.811
-rw-r--r--man/pl/man8/groupmems.86
-rw-r--r--man/pl/man8/groupmod.827
-rw-r--r--man/pl/man8/grpck.814
-rw-r--r--man/pl/man8/lastlog.810
-rw-r--r--man/pl/man8/logoutd.86
-rw-r--r--man/pl/man8/userdel.821
-rw-r--r--man/pl/man8/usermod.818
-rw-r--r--man/pl/man8/vipw.86
-rw-r--r--man/po/da.po1439
-rw-r--r--man/po/de.po1529
-rw-r--r--man/po/fr.po1527
-rw-r--r--man/po/it.po1532
-rw-r--r--man/po/pl.po1433
-rw-r--r--man/po/ru.po1528
-rw-r--r--man/po/shadow-man-pages.pot961
-rw-r--r--man/po/sv.po1447
-rw-r--r--man/po/zh_CN.po1541
-rw-r--r--man/pt_BR/Makefile.in30
-rw-r--r--man/pwck.8.xml2
-rw-r--r--man/ru/Makefile.in30
-rw-r--r--man/ru/man1/chage.133
-rw-r--r--man/ru/man1/chfn.16
-rw-r--r--man/ru/man1/chsh.16
-rw-r--r--man/ru/man1/expiry.16
-rw-r--r--man/ru/man1/gpasswd.112
-rw-r--r--man/ru/man1/groups.16
-rw-r--r--man/ru/man1/id.16
-rw-r--r--man/ru/man1/login.16
-rw-r--r--man/ru/man1/newgrp.16
-rw-r--r--man/ru/man1/passwd.112
-rw-r--r--man/ru/man1/sg.16
-rw-r--r--man/ru/man1/su.16
-rw-r--r--man/ru/man3/shadow.36
-rw-r--r--man/ru/man5/faillog.56
-rw-r--r--man/ru/man5/gshadow.56
-rw-r--r--man/ru/man5/limits.56
-rw-r--r--man/ru/man5/login.access.56
-rw-r--r--man/ru/man5/login.defs.528
-rw-r--r--man/ru/man5/passwd.510
-rw-r--r--man/ru/man5/porttime.56
-rw-r--r--man/ru/man5/shadow.514
-rw-r--r--man/ru/man5/suauth.56
-rw-r--r--man/ru/man8/chgpasswd.812
-rw-r--r--man/ru/man8/chpasswd.812
-rw-r--r--man/ru/man8/faillog.86
-rw-r--r--man/ru/man8/groupadd.827
-rw-r--r--man/ru/man8/groupdel.811
-rw-r--r--man/ru/man8/groupmems.86
-rw-r--r--man/ru/man8/groupmod.827
-rw-r--r--man/ru/man8/grpck.814
-rw-r--r--man/ru/man8/lastlog.810
-rw-r--r--man/ru/man8/logoutd.86
-rw-r--r--man/ru/man8/newusers.818
-rw-r--r--man/ru/man8/nologin.86
-rw-r--r--man/ru/man8/pwck.813
-rw-r--r--man/ru/man8/pwconv.88
-rw-r--r--man/ru/man8/sulogin.86
-rw-r--r--man/ru/man8/useradd.830
-rw-r--r--man/ru/man8/userdel.821
-rw-r--r--man/ru/man8/usermod.818
-rw-r--r--man/ru/man8/vipw.86
-rw-r--r--man/shadow.5.xml10
-rw-r--r--man/subgid.5.xml32
-rw-r--r--man/subuid.5.xml32
-rw-r--r--man/sv/Makefile.in30
-rw-r--r--man/sv/man1/chage.133
-rw-r--r--man/sv/man1/chsh.16
-rw-r--r--man/sv/man1/expiry.16
-rw-r--r--man/sv/man1/groups.16
-rw-r--r--man/sv/man1/id.16
-rw-r--r--man/sv/man1/newgrp.16
-rw-r--r--man/sv/man1/passwd.112
-rw-r--r--man/sv/man1/sg.16
-rw-r--r--man/sv/man3/shadow.36
-rw-r--r--man/sv/man5/faillog.56
-rw-r--r--man/sv/man5/gshadow.56
-rw-r--r--man/sv/man5/limits.56
-rw-r--r--man/sv/man5/passwd.510
-rw-r--r--man/sv/man5/porttime.56
-rw-r--r--man/sv/man5/suauth.56
-rw-r--r--man/sv/man8/faillog.86
-rw-r--r--man/sv/man8/groupadd.827
-rw-r--r--man/sv/man8/groupdel.811
-rw-r--r--man/sv/man8/groupmems.86
-rw-r--r--man/sv/man8/groupmod.827
-rw-r--r--man/sv/man8/grpck.814
-rw-r--r--man/sv/man8/lastlog.810
-rw-r--r--man/sv/man8/logoutd.86
-rw-r--r--man/sv/man8/nologin.86
-rw-r--r--man/sv/man8/pwck.813
-rw-r--r--man/sv/man8/userdel.821
-rw-r--r--man/sv/man8/vipw.86
-rw-r--r--man/tr/Makefile.in30
-rw-r--r--man/useradd.8.xml17
-rw-r--r--man/userdel.8.xml6
-rw-r--r--man/usermod.8.xml20
-rw-r--r--man/zh_CN/Makefile.in30
-rw-r--r--man/zh_CN/man1/chage.137
-rw-r--r--man/zh_CN/man1/chfn.18
-rw-r--r--man/zh_CN/man1/chsh.18
-rw-r--r--man/zh_CN/man1/expiry.18
-rw-r--r--man/zh_CN/man1/gpasswd.114
-rw-r--r--man/zh_CN/man1/groups.18
-rw-r--r--man/zh_CN/man1/id.16
-rw-r--r--man/zh_CN/man1/login.112
-rw-r--r--man/zh_CN/man1/newgrp.16
-rw-r--r--man/zh_CN/man1/passwd.114
-rw-r--r--man/zh_CN/man1/sg.16
-rw-r--r--man/zh_CN/man1/su.18
-rw-r--r--man/zh_CN/man3/shadow.36
-rw-r--r--man/zh_CN/man5/faillog.56
-rw-r--r--man/zh_CN/man5/gshadow.56
-rw-r--r--man/zh_CN/man5/limits.56
-rw-r--r--man/zh_CN/man5/login.access.56
-rw-r--r--man/zh_CN/man5/login.defs.532
-rw-r--r--man/zh_CN/man5/passwd.510
-rw-r--r--man/zh_CN/man5/porttime.56
-rw-r--r--man/zh_CN/man5/shadow.514
-rw-r--r--man/zh_CN/man5/suauth.56
-rw-r--r--man/zh_CN/man8/chgpasswd.814
-rw-r--r--man/zh_CN/man8/chpasswd.814
-rw-r--r--man/zh_CN/man8/faillog.88
-rw-r--r--man/zh_CN/man8/groupadd.829
-rw-r--r--man/zh_CN/man8/groupdel.813
-rw-r--r--man/zh_CN/man8/groupmems.88
-rw-r--r--man/zh_CN/man8/groupmod.829
-rw-r--r--man/zh_CN/man8/grpck.816
-rw-r--r--man/zh_CN/man8/lastlog.814
-rw-r--r--man/zh_CN/man8/logoutd.86
-rw-r--r--man/zh_CN/man8/newusers.820
-rw-r--r--man/zh_CN/man8/nologin.86
-rw-r--r--man/zh_CN/man8/pwck.815
-rw-r--r--man/zh_CN/man8/pwconv.810
-rw-r--r--man/zh_CN/man8/sulogin.86
-rw-r--r--man/zh_CN/man8/useradd.836
-rw-r--r--man/zh_CN/man8/userdel.823
-rw-r--r--man/zh_CN/man8/usermod.820
-rw-r--r--man/zh_CN/man8/vipw.88
-rw-r--r--man/zh_TW/Makefile.in30
-rwxr-xr-xmissing16
-rw-r--r--po/bs.po112
-rw-r--r--po/ca.gmobin66961 -> 66549 bytes
-rw-r--r--po/ca.po150
-rw-r--r--po/cs.gmobin70326 -> 69947 bytes
-rw-r--r--po/cs.po143
-rw-r--r--po/da.gmobin62518 -> 62140 bytes
-rw-r--r--po/da.po146
-rw-r--r--po/de.gmobin68187 -> 68176 bytes
-rw-r--r--po/de.po160
-rw-r--r--po/dz.gmobin33102 -> 32900 bytes
-rw-r--r--po/dz.po120
-rw-r--r--po/el.gmobin84103 -> 83580 bytes
-rw-r--r--po/el.po145
-rw-r--r--po/es.gmobin60011 -> 59622 bytes
-rw-r--r--po/es.po143
-rw-r--r--po/eu.gmobin47713 -> 47327 bytes
-rw-r--r--po/eu.po143
-rw-r--r--po/fi.gmobin19219 -> 19097 bytes
-rw-r--r--po/fi.po120
-rw-r--r--po/fr.po115
-rw-r--r--po/gl.gmobin19296 -> 19179 bytes
-rw-r--r--po/gl.po120
-rw-r--r--po/he.po112
-rw-r--r--po/hu.gmobin19000 -> 18878 bytes
-rw-r--r--po/hu.po120
-rw-r--r--po/id.gmobin16194 -> 16076 bytes
-rw-r--r--po/id.po120
-rw-r--r--po/it.gmobin21482 -> 21358 bytes
-rw-r--r--po/it.po123
-rw-r--r--po/ja.gmobin71948 -> 71583 bytes
-rw-r--r--po/ja.po144
-rw-r--r--po/kk.gmobin83766 -> 83257 bytes
-rw-r--r--po/kk.po145
-rw-r--r--po/km.po121
-rw-r--r--po/ko.gmobin31593 -> 31461 bytes
-rw-r--r--po/ko.po128
-rw-r--r--po/nb.gmobin66207 -> 65785 bytes
-rw-r--r--po/nb.po146
-rw-r--r--po/ne.gmobin28494 -> 28281 bytes
-rw-r--r--po/ne.po120
-rw-r--r--po/nl.gmobin80704 -> 80009 bytes
-rw-r--r--po/nl.po169
-rw-r--r--po/nn.gmobin12893 -> 12769 bytes
-rw-r--r--po/nn.po120
-rw-r--r--po/pl.gmobin19398 -> 19279 bytes
-rw-r--r--po/pl.po120
-rw-r--r--po/pt.gmobin66447 -> 66036 bytes
-rw-r--r--po/pt.po144
-rw-r--r--po/pt_BR.gmobin57295 -> 56904 bytes
-rw-r--r--po/pt_BR.po144
-rw-r--r--po/ro.gmobin19167 -> 19039 bytes
-rw-r--r--po/ro.po120
-rw-r--r--po/ru.gmobin90171 -> 89662 bytes
-rw-r--r--po/ru.po144
-rw-r--r--po/shadow.pot112
-rw-r--r--po/sk.gmobin43771 -> 43377 bytes
-rw-r--r--po/sk.po137
-rw-r--r--po/sq.po112
-rw-r--r--po/sv.gmobin54826 -> 54445 bytes
-rw-r--r--po/sv.po148
-rw-r--r--po/tl.gmobin19232 -> 19116 bytes
-rw-r--r--po/tl.po120
-rw-r--r--po/tr.gmobin20898 -> 20771 bytes
-rw-r--r--po/tr.po123
-rw-r--r--po/uk.gmobin23513 -> 23361 bytes
-rw-r--r--po/uk.po120
-rw-r--r--po/vi.gmobin74867 -> 74388 bytes
-rw-r--r--po/vi.po144
-rw-r--r--po/zh_CN.gmobin63428 -> 63024 bytes
-rw-r--r--po/zh_CN.po143
-rw-r--r--po/zh_TW.gmobin67377 -> 66913 bytes
-rw-r--r--po/zh_TW.po146
-rw-r--r--src/Makefile.am90
-rw-r--r--src/Makefile.in489
-rw-r--r--src/chage.c21
-rw-r--r--src/check_subid_range.c50
-rw-r--r--src/chfn.c9
-rw-r--r--src/chgpasswd.c115
-rw-r--r--src/chpasswd.c109
-rw-r--r--src/chsh.c2
-rw-r--r--src/expiry.c2
-rw-r--r--src/faillog.c6
-rw-r--r--src/free_subid_range.c52
-rw-r--r--src/get_subid_owners.c42
-rw-r--r--src/gpasswd.c13
-rw-r--r--src/groupadd.c25
-rw-r--r--src/groupdel.c3
-rw-r--r--src/groupmems.c2
-rw-r--r--src/groupmod.c44
-rw-r--r--src/groups.c2
-rw-r--r--src/grpck.c24
-rw-r--r--src/grpconv.c2
-rw-r--r--src/grpunconv.c2
-rw-r--r--src/lastlog.c25
-rw-r--r--src/list_subid_ranges.c45
-rw-r--r--src/login.c15
-rw-r--r--src/logoutd.c2
-rw-r--r--src/new_subid_range.c59
-rw-r--r--src/newgidmap.c9
-rw-r--r--src/newgrp.c6
-rw-r--r--src/newuidmap.c7
-rw-r--r--src/newusers.c169
-rw-r--r--src/passwd.c12
-rw-r--r--src/pwck.c13
-rw-r--r--src/pwconv.c2
-rw-r--r--src/pwunconv.c2
-rw-r--r--src/su.c21
-rw-r--r--src/sulogin.c2
-rw-r--r--src/useradd.c381
-rw-r--r--src/userdel.c27
-rw-r--r--src/usermod.c275
-rw-r--r--src/vipw.c12
-rwxr-xr-xylwrap8
571 files changed, 31889 insertions, 21605 deletions
diff --git a/ChangeLog b/ChangeLog
index 89b065a4..5f42a2b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2021-07-22 Serge Hallyn <serge@hallyn.com>
+
+ * Updated translations (Björn Esser, Juergen Hoetzel)
+ * Major salt updates (Björn Esser)
+ * Various coverity and cleanup fixes (Iker Pedrosa)
+ * Consistently use 0 to disable PASS_MIN_DAYS in man (tzccinct)
+ * Implement NSS support for subids and a libsubid (Serge Hallyn)
+ * setfcap: retain setfcap when mapping uid 0 (Christian Brauner)
+ * login.defs: include HMAC_CRYPTO_ALGO key (Iker Pedrosa)
+ * selinux fixes (Christian Göttsche)
+ * Fix path prefix path handling (Lucas Servén Marín)
+ * Manpage updates (tzccinct, Sevan Janiyan, Iker Pedrosa, Geert Ijewski,
+ è°­ä¹é¼Ž, Jamin W. Collins, towerpark, andydna, Frans Spiesschaert)
+ * Treat an empty passwd field as invalid (Haelwenn Monnier)
+ * newxidmap: allow running under alternative gid (Martijn de Gouw)
+ * usermod: check that shell is executable (Geert Ijewski)
+ * Add yescript support (Rodolphe Bréard)
+ * useradd memleak fixes (whzhe)
+ * useradd: use built-in settings by default (Ludwig Nussel)
+ * getdefs: add foreign (non-shadow-utils) items (Karel Zak)
+ * buffer overflow fixes (Tobias Stoeckmann)
+ * Adding run-parts style for pre and post useradd/del (ed@s5h.net)
+
2020-01-23 Serge Hallyn <serge@hallyn.com>
* selinux: inclue stdio (Michael Vetter)
diff --git a/Makefile.am b/Makefile.am
index 8851f5d6..b6456cf9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,5 +2,14 @@
EXTRA_DIST = NEWS README TODO shadow.spec.in
-SUBDIRS = po man libmisc lib src \
- contrib doc etc
+SUBDIRS = libmisc lib
+
+if ENABLE_SUBIDS
+SUBDIRS += libsubid
+endif
+
+SUBDIRS += src po contrib doc etc
+
+if ENABLE_REGENERATE_MAN
+SUBDIRS += man
+endif
diff --git a/Makefile.in b/Makefile.in
index 32edc35d..2fc6adfb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -87,10 +87,18 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+@ENABLE_SUBIDS_TRUE@am__append_1 = libsubid
+@ENABLE_REGENERATE_MAN_TRUE@am__append_2 = man
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
@@ -135,7 +143,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir distdir-am dist dist-all distcheck
+ cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
@@ -157,7 +165,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = libmisc lib libsubid src po contrib doc etc man
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/shadow.spec.in $(top_srcdir)/man/po/Makefile.in \
ABOUT-NLS COPYING ChangeLog NEWS README TODO compile \
@@ -231,7 +239,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -260,9 +267,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -300,7 +312,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -361,9 +372,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = NEWS README TODO shadow.spec.in
-SUBDIRS = po man libmisc lib src \
- contrib doc etc
-
+SUBDIRS = libmisc lib $(am__append_1) src po contrib doc etc \
+ $(am__append_2)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -389,8 +399,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -536,10 +546,7 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/README b/README
index c0c03f2d..f3b734d3 100644
--- a/README
+++ b/README
@@ -59,6 +59,7 @@ Dave Hagewood <admin@arrowweb.com>
David A. Holland <dholland@hcs.harvard.edu>
David Frey <David.Frey@lugs.ch>
Ed Carp <ecarp@netcom.com>
+Ed Neville <ed@s5h.net>
Eric W. Biederman" <ebiederm@xmission.com>
Floody <flood@evcom.net>
Frank Denis <j@4u.net>
@@ -69,6 +70,7 @@ Guy Maor <maor@debian.org>
Hrvoje Dogan <hdogan@bjesomar.srce.hr>
Jakub Hrozek <jhrozek@redhat.com>
Janos Farkas <chexum@bankinf.banki.hu>
+Jason Franklin <jason.franklin@quoininc.com>
Jay Soffian <jay@lw.net>
Jesse Thilo <Jesse.Thilo@pobox.com>
Joey Hess <joey@kite.ml.org>
diff --git a/aclocal.m4 b/aclocal.m4
index 659667d5..60c1773f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,11513 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# gettext.m4 serial 68 (gettext-0.19.8)
-dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can 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 is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl default (if it is not specified or empty) is 'no-libtool'.
-dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl depending on --{enable,disable}-{shared,static} and on the presence of
-dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl implementations (in libc or libintl) without the ngettext() function
-dnl will be ignored. If NEEDSYMBOL is specified and is
-dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries. If empty,
-dnl the value '$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl and used.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl Catalog format: GNU --> install in $(datadir)
-dnl Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl Catalog format: none
-dnl Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
- [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
- 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],
- ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
- [yes]))
- define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
- gt_NEEDS_INIT
- AM_GNU_GETTEXT_NEED([$2])
-
- 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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
- gt_INTL_MACOSX
-
- dnl Set USE_NLS.
- AC_REQUIRE([AM_NLS])
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl Add a version number to the cache macros.
- case " $gt_needs " in
- *" need-formatstring-macros "*) gt_api_version=3 ;;
- *" need-ngettext "*) gt_api_version=2 ;;
- *) gt_api_version=1 ;;
- esac
- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH([included-gettext],
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#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
-'
- else
- gt_revision_test_code=
- fi
- if test $gt_api_version -ge 2; then
- gt_expression_test_code=' + * ngettext ("", "", 0)'
- else
- gt_expression_test_code=
- fi
-
- AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
- ]])],
- [eval "$gt_func_gnugettext_libc=yes"],
- [eval "$gt_func_gnugettext_libc=no"])])
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "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_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_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
- ]])],
- [eval "$gt_func_gnugettext_libintl=yes"],
- [eval "$gt_func_gnugettext_libintl=no"])
- dnl Now see whether libintl exists and depends on libiconv.
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
- ]],
- [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
- ]])],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- CATOBJEXT=
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Some extra flags are needed during linking.
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE([ENABLE_NLS], [1],
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "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 { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE([HAVE_GETTEXT], [1],
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE([HAVE_DCGETTEXT], [1],
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST([BUILD_INCLUDED_LIBINTL])
- AC_SUBST([USE_INCLUDED_LIBINTL])
- AC_SUBST([CATOBJEXT])
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST([DATADIRNAME])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST([INSTOBJEXT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST([GENCAT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLOBJS=
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST([INTLOBJS])
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST([INTLLIBS])
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
- m4_divert_text([DEFAULTS], [gt_needs=])
- m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
- m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-
-
-dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
-
-# iconv.m4 serial 19 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
- 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_LINK_IFELSE will then fail, the second AC_LINK_IFELSE 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_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
- ]],
- [[iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);]])],
- [am_cv_func_iconv=yes])
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
- ]],
- [[iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);]])],
- [am_cv_lib_iconv=yes]
- [am_cv_func_iconv=yes])
- LIBS="$am_save_LIBS"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
- dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
- dnl Solaris 10.
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- am_cv_func_iconv_works=no
- for ac_iconv_const in '' 'const'; do
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <iconv.h>
-#include <string.h>
-
-#ifndef ICONV_CONST
-# define ICONV_CONST $ac_iconv_const
-#endif
- ]],
- [[int result = 0;
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 1;
- iconv_close (cd_utf8_to_88591);
- }
- }
- /* Test against Solaris 10 bug: Failures are not distinguishable from
- successful returns. */
- {
- iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
- if (cd_ascii_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\263";
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_ascii_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 2;
- iconv_close (cd_ascii_to_88591);
- }
- }
- /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304";
- static char buf[2] = { (char)0xDE, (char)0xAD };
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = 1;
- char *outptr = buf;
- size_t outbytesleft = 1;
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
- result |= 4;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- result |= 8;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- result |= 16;
- return result;
-]])],
- [am_cv_func_iconv_works=yes], ,
- [case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac])
- test "$am_cv_func_iconv_works" = no || break
- done
- LIBS="$am_save_LIBS"
- ])
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
- AC_DEFINE([HAVE_ICONV], [1],
- [Define if you have the iconv() function and it works.])
- 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])
-])
-
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl warnings.
-m4_define([gl_iconv_AC_DEFUN],
- m4_version_prereq([2.64],
- [[AC_DEFUN_ONCE(
- [$1], [$2])]],
- [m4_ifdef([gl_00GNULIB],
- [[AC_DEFUN_ONCE(
- [$1], [$2])]],
- [[AC_DEFUN(
- [$1], [$2])]])]))
-gl_iconv_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_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(_MSC_VER) || 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([
- $am_cv_proto_iconv])
- AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
- [Define as const if the declaration of iconv() needs const.])
- dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
- m4_ifdef([gl_ICONV_H_DEFAULTS],
- [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
- if test -n "$am_cv_proto_iconv_arg1"; then
- ICONV_CONST="const"
- fi
- ])
- fi
-])
-
-# intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can 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 is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Checks for special options needed on Mac OS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
- dnl Check for API introduced in Mac OS X 10.2.
- AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
- [gt_cv_func_CFPreferencesCopyAppValue],
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <CoreFoundation/CFPreferences.h>]],
- [[CFPreferencesCopyAppValue(NULL, NULL)]])],
- [gt_cv_func_CFPreferencesCopyAppValue=yes],
- [gt_cv_func_CFPreferencesCopyAppValue=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
- AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
- [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
- fi
- dnl Check for API introduced in Mac OS X 10.3.
- AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <CoreFoundation/CFLocale.h>]],
- [[CFLocaleCopyCurrent();]])],
- [gt_cv_func_CFLocaleCopyCurrent=yes],
- [gt_cv_func_CFLocaleCopyCurrent=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
- [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
- fi
- INTL_MACOSX_LIBS=
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
- fi
- AC_SUBST([INTL_MACOSX_LIBS])
-])
-
-# lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
-dnl collision with libtool.m4.
-
-dnl From libtool-2.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 lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes
- ;;
-*)
- acl_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-2.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_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])dnl
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
-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 $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 pathname 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
- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$acl_save_ifs"
- 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 variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$acl_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT([$LD])
-else
- AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-
-# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-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.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[m4_translit([$1],[./+-], [____])])
- pushdef([NAME],[m4_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"
- ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- 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
- popdef([NAME])
- popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-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. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and 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.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[m4_translit([$1],[./+-], [____])])
- pushdef([NAME],[m4_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"
- dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
- dnl because these -l options might require -L options that are present in
- dnl LIBS. -l options benefit only from the -L options listed before it.
- dnl Otherwise, add it to the front of LIBS, because it may be a static
- dnl library that depends on another static library that is present in LIBS.
- dnl Static libraries benefit only from the static libraries listed after
- dnl it.
- case " $LIB[]NAME" in
- *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
- *) LIBS="$LIB[]NAME $LIBS" ;;
- esac
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[$3]], [[$4]])],
- [ac_cv_lib[]Name=yes],
- [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
- 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 lib][$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=
- LIB[]NAME[]_PREFIX=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- popdef([NAME])
- popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl acl_libext,
-dnl acl_shlibext,
-dnl acl_libname_spec,
-dnl acl_library_names_spec,
-dnl acl_hardcode_libdir_flag_spec,
-dnl acl_hardcode_libdir_separator,
-dnl acl_hardcode_direct,
-dnl acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
- dnl Tell automake >= 1.10 to complain if config.rpath is missing.
- m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_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_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- define([acl_frompackage_]NAME, [$2])
- popdef([NAME])
- pushdef([PACK],[$2])
- pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
- popdef([PACKUP])
- popdef([PACK])
-])
-
-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.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
- pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
- dnl Autoconf >= 2.61 supports dots in --with options.
- pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
- 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_ARG_WITH(P_A_C_K[-prefix],
-[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
- --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ 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/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- 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=
- LIB[]NAME[]_PREFIX=
- dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
- dnl computed. So it has to be reset here.
- HAVE_LIB[]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=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- dnl The same code as in the loop below:
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- 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//'`
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- 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/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; 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 "$acl_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 "$acl_hardcode_libdir_flag_spec" && test "$acl_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 "$acl_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 $acl_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
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_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:+$acl_hardcode_libdir_separator}$found_dir"
- done
- dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_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=\"$acl_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
- popdef([P_A_C_K])
- popdef([PACKLIBS])
- popdef([PACKUP])
- popdef([PACK])
- popdef([NAME])
-])
-
-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
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
- AC_REQUIRE([AC_LIB_RPATH])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- $1=
- if test "$enable_rpath" != no; then
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode directories into the resulting
- dnl binary.
- rpathdirs=
- next=
- for opt in $2; do
- if test -n "$next"; then
- dir="$next"
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next=
- else
- case $opt in
- -L) next=yes ;;
- -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next= ;;
- *) next= ;;
- esac
- fi
- done
- if test "X$rpathdirs" != "X"; then
- if test -n ""$3""; then
- dnl libtool is used for linking. Use -R options.
- for dir in $rpathdirs; do
- $1="${$1}${$1:+ }-R$dir"
- done
- else
- dnl The linker is used for linking directly.
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user
- dnl must pass all path elements in one option.
- alldirs=
- for dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="$flag"
- else
- dnl The -rpath options are cumulative.
- for dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="${$1}${$1:+ }$flag"
- done
- fi
- fi
- fi
- fi
- fi
- AC_SUBST([$1])
-])
-
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- 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/$acl_libdirstem"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; 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/$acl_libdirstem"; 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"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
- dnl There is no formal standard regarding lib and lib64.
- dnl On glibc systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
- dnl the compiler's default mode by looking at the compiler's library search
- dnl path. If at least one of its elements ends in /lib64 or points to a
- dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
- dnl Otherwise we use the default, namely "lib".
- dnl On Solaris systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
- dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
- AC_REQUIRE([AC_CANONICAL_HOST])
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
- dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
- dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
- dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
- dnl symlink is missing, so we set acl_libdirstem2 too.
- AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
- [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
- ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
- ])
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
- esac
- fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool 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 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program or library that is built
-# using GNU Libtool, you may include this file under the same
-# distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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, see <http://www.gnu.org/licenses/>.
-])
-
-# serial 58 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
- *\ * | *\ *)
- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS=$ltmain
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_PREPARE_CC_BASENAME
-# -----------------------
-m4_defun([_LT_PREPARE_CC_BASENAME], [
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
- for cc_temp in @S|@*""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
- done
- func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-])# _LT_PREPARE_CC_BASENAME
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
-# but that macro is also expanded into generated libtool script, which
-# arranges for $SED and $ECHO to be set by different means.
-m4_defun([_LT_CC_BASENAME],
-[m4_require([_LT_PREPARE_CC_BASENAME])dnl
-AC_REQUIRE([_LT_DECL_SED])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-func_cc_basename $1
-cc_basename=$func_cc_basename_result
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-m4_require([_LT_CMD_TRUNCATE])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options that allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}"; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}"; then
- setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-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 set != "${COLLECT_NAMES+set}"; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-old_CC=$CC
-old_CFLAGS=$CFLAGS
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- _LT_PATH_MAGIC
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-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 delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from 'configure', and 'config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# 'config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain=$ac_aux_dir/ltmain.sh
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the 'libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to 'config.status' so that its
-# declaration there will have the same value as in 'configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags='_LT_TAGS'dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into 'config.status', and then the shell code to quote escape them in
-# for loops in 'config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
- dnl If the libtool generation code has been placed in $CONFIG_LT,
- dnl instead of duplicating it all over again into config.status,
- dnl then we will have config.status run $CONFIG_LT later, so it
- dnl needs to know what name is stored there:
- [AC_CONFIG_COMMANDS([libtool],
- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
- dnl If the libtool generation code is destined for config.status,
- dnl expand the accumulated commands and init code now:
- [AC_CONFIG_COMMANDS([libtool],
- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable. If COMMENT is supplied, it is inserted after the
-# '#!' sequence but before initialization text begins. After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script. The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test 0 = "$lt_write_fail" && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-'$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
- -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
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test 0 != $[#]
-do
- case $[1] in
- --version | --v* | -V )
- echo "$lt_cl_version"; exit 0 ;;
- --help | --h* | -h )
- echo "$lt_cl_help"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --quiet | --q* | --silent | --s* | -q )
- lt_cl_silent=: ;;
-
- -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try '$[0] --help' for more information.]) ;;
-
- *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try '$[0] --help' for more information.]) ;;
- esac
- shift
-done
-
-if $lt_cl_silent; then
- exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure. Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test yes = "$silent" &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options that allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}"; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile=${ofile}T
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-# Generated automatically by $as_me ($PACKAGE) $VERSION
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_PREPARE_MUNGE_PATH_LIST
-_LT_PREPARE_CC_BASENAME
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_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 set != "${COLLECT_NAMES+set}"; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # 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"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- RM='$RM'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Go], [_LT_LANG(GO)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Fortran], [_LT_LANG(FC)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [LT_SUPPORTED_TAG([$1])dnl
- m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_GO. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC], [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
- if test -n "$ac_tool_prefix"; then
- AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
- fi
-fi
-if test -z "$GOC"; then
- AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
- [LT_LANG(FC)],
- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
- [LT_LANG(GO)],
- [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CHECK_TOOL([LIPO], [lipo], [:])
- AC_CHECK_TOOL([OTOOL], [otool], [:])
- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
- _LT_DECL([], [DSYMUTIL], [1],
- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
- _LT_DECL([], [NMEDIT], [1],
- [Tool to change global to local symbols on Mac OS X])
- _LT_DECL([], [LIPO], [1],
- [Tool to manipulate fat objects and archives on Mac OS X])
- _LT_DECL([], [OTOOL], [1],
- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
- _LT_DECL([], [OTOOL64], [1],
- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "$LT_MULTI_MODULE"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- # If there is a non-empty error log, and "single_module"
- # appears in it, assume the flag caused a linker warning
- if test -s conftest.err && $GREP single_module conftest.err; then
- cat conftest.err >&AS_MESSAGE_LOG_FD
- # Otherwise, if the output was created with a 0 exit code from
- # the compiler, it worked.
- elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi])
-
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS=$save_LDFLAGS
- ])
-
- AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
- [lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
- echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
- $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -s conftest.err && $GREP force_load conftest.err; then
- cat conftest.err >&AS_MESSAGE_LOG_FD
- elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
- ])
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]][[,.]]*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test yes = "$lt_cv_apple_cc_single_mod"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test yes = "$lt_cv_ld_exported_symbols_list"; then
- _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
- fi
- if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test yes = "$lt_cv_ld_force_load"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
- [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
- case $cc_basename in
- ifort*|nagfor*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test yes = "$_lt_dar_can_shared"; then
- output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
- m4_if([$1], [CXX],
-[ if test yes != "$lt_cv_apple_cc_single_mod"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -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$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -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$_lt_dar_export_syms$_lt_dsymutil"
- fi
-],[])
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# 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.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test set = "${lt_cv_aix_libpath+set}"; then
- aix_libpath=$lt_cv_aix_libpath
-else
- AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
- lt_aix_libpath_sed='[
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }]'
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi],[])
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
- fi
- ])
- aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script that will find a shell with a builtin
-# printf (that we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-
-case $ECHO in
- printf*) AC_MSG_RESULT([printf]) ;;
- print*) AC_MSG_RESULT([print -r]) ;;
- *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
- test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test "X`printf %s $ECHO`" = "X$ECHO" \
- || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
- [Search for dependent libraries within DIR (or the compiler's sysroot
- if not specified).])],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted. We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case $with_sysroot in #(
- yes)
- if test yes = "$GCC"; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- AC_MSG_RESULT([$with_sysroot])
- AC_MSG_ERROR([The sysroot must be an absolute path.])
- ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and where our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AS_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode
- # options accordingly.
- 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 what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test yes = "$lt_cv_prog_gnu_ld"; 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*
- ;;
-
-mips64*-*linux*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- emul="${emul}32"
- ;;
- *64-bit*)
- emul="${emul}64"
- ;;
- esac
- case `/usr/bin/file conftest.$ac_objext` in
- *MSB*)
- emul="${emul}btsmip"
- ;;
- *LSB*)
- emul="${emul}ltsmip"
- ;;
- esac
- case `/usr/bin/file conftest.$ac_objext` in
- *N32*)
- emul="${emul}n32"
- ;;
- esac
- LD="${LD-ld} -m $emul"
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly. Note that the listed cases only cover the
- # situations where additional linker options are needed (such as when
- # doing 32-bit compilation for a host where ld defaults to 64-bit, or
- # vice versa); the common cases where no linker options are needed do
- # not appear in the list.
- 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-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
- *x86-64*)
- LD="${LD-ld} -m elf32_x86_64"
- ;;
- *)
- LD="${LD-ld} -m elf_i386"
- ;;
- esac
- ;;
- powerpc64le-*linux*)
- LD="${LD-ld} -m elf32lppclinux"
- ;;
- powerpc64-*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-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- powerpcle-*linux*)
- LD="${LD-ld} -m elf64lppc"
- ;;
- powerpc-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- 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_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test yes != "$lt_cv_cc_needs_belf"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS=$SAVE_CFLAGS
- fi
- ;;
-*-*solaris*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*)
- case $host in
- i?86-*-solaris*|x86_64-*-solaris*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- sparc*-*-solaris*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
- if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD=${LD-ld}_sol2
- fi
- ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks=$enable_libtool_lock
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
- [lt_cv_ar_at_file=no
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
- AC_TRY_EVAL([lt_ar_try])
- if test 0 -eq "$ac_status"; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- AC_TRY_EVAL([lt_ar_try])
- if test 0 -ne "$ac_status"; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
- ])
- ])
-
-if test no = "$lt_cv_ar_at_file"; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
- [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- bitrig* | openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
- [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
- # 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}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $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 other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $RM conftest*
-])
-
-if test yes = "[$]$2"; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker 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
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS=$save_LDFLAGS
-])
-
-if test yes = "[$]$2"; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# 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
- teststring=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* | cegcc*)
- # 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;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # 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`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test 17 != "$i" # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # 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`
- fi
- ;;
- 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
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes = "$cross_compiling"; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#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
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 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;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes != "$enable_dlopen"; 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* | cegcc*)
- 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
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
- lt_cv_dlopen=dyld
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- tpf*)
- # Don't try to run any link tests for TPF. We know it's impossible
- # because TPF is a cross-compiler, and we know how we open DSOs.
- lt_cv_dlopen=dlopen
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=no
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen=shl_load],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen=dlopen],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test no = "$lt_cv_dlopen"; then
- enable_dlopen=no
- else
- enable_dlopen=yes
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS=$CPPFLAGS
- test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS=$LDFLAGS
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS=$LIBS
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test yes = "$lt_cv_dlopen_self"; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- 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
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- 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}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $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:$LINENO: \$? = $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
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links=nottested
-if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; 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
- $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
- AC_MSG_RESULT([$hard_links])
- if test no = "$hard_links"; then
- AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_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
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
- [Define to the sub-directory where libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
-
- # We can hardcode non-existent directories.
- if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
- # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
- test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
- # Linking always hardcodes the temporary library directory.
- _LT_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
- test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
- test no = "$enable_shared"; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-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
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- 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"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_PREPARE_MUNGE_PATH_LIST
-# ---------------------------
-# Make sure func_munge_path_list() is defined correctly.
-m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
-[[# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-# string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-# string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-# "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-# VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
- case x@S|@2 in
- x)
- ;;
- *:)
- eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
- ;;
- x:*)
- eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
- ;;
- *::*)
- eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
- eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
- ;;
- *)
- eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
- ;;
- esac
-}
-]])# _LT_PREPARE_PATH_LIST
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
- [], [
-if test yes = "$GCC"; then
- case $host_os in
- darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
- *) lt_awk_arg='/^libraries:/' ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
- *) lt_sed_strip_eq='s|=/|/|g' ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # 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.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary...
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- # ...but if some path component already ends with the multilib dir we assume
- # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
- case "$lt_multi_os_dir; $lt_search_path_spec " in
- "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
- lt_multi_os_dir=
- ;;
- esac
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
- elif test -n "$lt_multi_os_dir"; then
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS = " "; FS = "/|\n";} {
- lt_foo = "";
- lt_count = 0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo = "/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=.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"
-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
-
-AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
-[User-defined run-time library search path.])
-
-case $host_os in
-aix3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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'
- ;;
-
-aix[[4-9]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test ia64 = "$host_cpu"; 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
- # Using Import Files as archive members, it is possible to support
- # filename-based versioning of shared library archives on AIX. While
- # this would work for both with and without runtime linking, it will
- # prevent static linking of such archives. So we do filename-based
- # shared library versioning with .so extension only, which is used
- # when both runtime linking and shared linking is enabled.
- # Unfortunately, runtime linking may impact performance, so we do
- # not want this to be the default eventually. Also, we use the
- # versioned .so libs for executables only if there is the -brtl
- # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
- # To allow for filename-based versioning support, we need to create
- # libNAME.so.V as an archive file, containing:
- # *) an Import File, referring to the versioned filename of the
- # archive as well as the shared archive member, telling the
- # bitwidth (32 or 64) of that shared object, and providing the
- # list of exported symbols of that shared object, eventually
- # decorated with the 'weak' keyword
- # *) the shared object with the F_LOADONLY flag set, to really avoid
- # it being seen by the linker.
- # At run time we better use the real file rather than another symlink,
- # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
- case $with_aix_soname,$aix_use_runtimelinking in
- # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- aix,yes) # traditional libtool
- dynamic_linker='AIX unversionable lib.so'
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.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'
- ;;
- aix,no) # traditional AIX only
- dynamic_linker='AIX lib.a[(]lib.so.V[)]'
- # 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'
- ;;
- svr4,*) # full svr4 only
- dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
- library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
- # We do not specify a path in Import Files, so LIBPATH fires.
- shlibpath_overrides_runpath=yes
- ;;
- *,yes) # both, prefer svr4
- dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
- library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
- # unpreferred sharedlib libNAME.a needs extra handling
- postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
- postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
- # We do not specify a path in Import Files, so LIBPATH fires.
- shlibpath_overrides_runpath=yes
- ;;
- *,no) # both, prefer aix
- dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
- library_names_spec='$libname$release.a $libname.a'
- soname_spec='$libname$release$shared_ext$major'
- # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
- postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
- postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
- ;;
- esac
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
- ;;
- m68k)
- 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=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='$libname$shared_ext'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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* | cegcc*)
- version_type=windows
- shrext_cmds=.dll
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- 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~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- 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'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
- ;;
- 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
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
- library_names_spec='$libname.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec=$LIB
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH.
- 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
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # 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
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # 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
- library_names_spec='$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_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[23]].*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
- soname_spec='$libname$release$shared_ext$major'
- 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
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-haiku*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- 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=LIBRARY_PATH
- shlibpath_overrides_runpath=no
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- 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_cmds='.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 32 = "$HPUX_IA64_MODE"; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- sys_lib_dlsearch_path_spec=/usr/lib/hpux32
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- sys_lib_dlsearch_path_spec=/usr/lib/hpux64
- fi
- ;;
- hppa*64*)
- shrext_cmds='.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_cmds='.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'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[[3-9]]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test yes = "$lt_cv_prog_gnu_ld"; then
- version_type=linux # correct to gnu/linux during the next big refactor
- 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
- ;;
-
-linux*android*)
- version_type=none # Android doesn't support versioned libraries.
- need_lib_prefix=no
- need_version=no
- library_names_spec='$libname$release$shared_ext'
- soname_spec='$libname$release$shared_ext'
- finish_cmds=
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
-
- # 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
-
- dynamic_linker='Android linker'
- # Don't embed -rpath directories since the linker doesn't support them.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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
-
- # Some binutils ld are patched to set DT_RUNPATH
- AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
- [lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [lt_cv_shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
- ])
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # 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
-
- # Ideally, we could use ldconfig to report *all* directores which are
- # searched for libraries, however this is still not possible. Aside from not
- # being certain /sbin/ldconfig is available, command
- # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
- # even though it is searched at run-time. Try to do the best guess by
- # appending ld.so.conf contents (and includes) to the search path.
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # 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'
- ;;
-
-netbsdelf*-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
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_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$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 # correct to gnu/linux during the next big refactor
- 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=qnx
- 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=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd* | bitrig*)
- version_type=sunos
- sys_lib_dlsearch_path_spec=/usr/lib
- need_lib_prefix=no
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
- need_version=no
- else
- need_version=yes
- fi
- 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
- shlibpath_overrides_runpath=yes
- ;;
-
-os2*)
- libname_spec='$name'
- version_type=windows
- shrext_cmds=.dll
- need_version=no
- need_lib_prefix=no
- # OS/2 can only load a DLL with a base name of 8 characters or less.
- soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
- v=$($ECHO $release$versuffix | tr -d .-);
- n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
- $ECHO $n$v`$shared_ext'
- library_names_spec='${libname}_dll.$libext'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=BEGINLIBPATH
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- 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~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- ;;
-
-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
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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 yes = "$with_gnu_ld"; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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
- 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 # correct to gnu/linux during the next big refactor
- 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
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=sco
- need_lib_prefix=no
- need_version=no
- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
- soname_spec='$libname$release$shared_ext$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test yes = "$with_gnu_ld"; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux # correct to gnu/linux during the next big refactor
- 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 no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
- sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
- sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [[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]])
-_LT_DECL([], [soname_spec], [1],
- [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
- [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [[As "finish_cmds", except a single script fragment to be evaled but
- not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
- [Detected run-time system search path for libraries])
-_LT_DECL([], [configure_time_lt_sys_library_path], [2],
- [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program that can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_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="m4_if([$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 <<_LT_EOF 1>&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
-
-_LT_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
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program that can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_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
- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test no = "$withval" || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test yes = "$GCC"; 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 pathname 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 yes = "$with_gnu_ld"; 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 variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test no != "$with_gnu_ld" && break
- ;;
- *)
- test yes != "$with_gnu_ld" && break
- ;;
- esac
- fi
- done
- IFS=$lt_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])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_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 lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[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
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test yes != "$GCC"; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test yes = "$GCC"; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_PATH_DD
-# -----------
-# find a working dd
-m4_defun([_LT_PATH_DD],
-[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
-[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
- cmp -s conftest.i conftest.out \
- && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi])
-rm -f conftest.i conftest2.i conftest.out])
-])# _LT_PATH_DD
-
-
-# _LT_CMD_TRUNCATE
-# ----------------
-# find command to truncate a binary pipe
-m4_defun([_LT_CMD_TRUNCATE],
-[m4_require([_LT_PATH_DD])
-AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
- cmp -s conftest.i conftest.out \
- && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
-_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
- [Command to truncate a binary pipe])
-])# _LT_CMD_TRUNCATE
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent 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
-# that 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
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- 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*)
- # func_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='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- 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|DragonFly)/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
- ;;
-
-haiku*)
- 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])(-bit)?( [LM]SB)? 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
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | netbsdelf*-gnu)
- 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=pass_all
- ;;
-
-openbsd* | bitrig*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- 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
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-os2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-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
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
- [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
- [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM=$NM
-else
- lt_nm_to_check=${ac_tool_prefix}nm
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS=$lt_save_ifs
- test -z "$ac_dir" && ac_dir=.
- tmp_nm=$ac_dir/$lt_tmp_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
- # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
- case $build_os in
- mingw*) lt_bad_file=conftest.nm/nofile ;;
- *) lt_bad_file=/dev/null ;;
- esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
- *$lt_bad_file* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break 2
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break 2
- ;;
- *)
- 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
- done
- : ${lt_cv_path_NM=no}
-fi])
-if test no != "$lt_cv_path_NM"; then
- NM=$lt_cv_path_NM
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols -headers"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
- AC_SUBST([DUMPBIN])
- if test : != "$DUMPBIN"; then
- NM=$DUMPBIN
- fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
- [lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
- cat conftest.out >&AS_MESSAGE_LOG_FD
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh;
- # decide which one to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd=$ECHO
- ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
- [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
- [lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&AS_MESSAGE_LOG_FD
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*])
-if test yes != "$lt_cv_path_mainfest_tool"; then
- MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# _LT_DLL_DEF_P([FILE])
-# ---------------------
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with func_dll_def_p in the libtool script
-AC_DEFUN([_LT_DLL_DEF_P],
-[dnl
- test DEF = "`$SED -n dnl
- -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
- -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
- -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
- -e q dnl Only consider the first "real" line
- $1`" dnl
-])# _LT_DLL_DEF_P
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-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_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test yes = "$GCC"; then
- case $cc_basename in
- nvcc*)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
- esac
-
- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# 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]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*)
- if test ia64 = "$host_cpu"; then
- symcode='[[ABCDEGRST]]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
- # Adjust the below global symbol transforms to fixup imported variables.
- lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
- lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
- lt_c_name_lib_hook="\
- -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
- -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
-else
- # Disable hooks by default.
- lt_cv_sys_global_symbol_to_import=
- lt_cdecl_hook=
- lt_c_name_hook=
- lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
-
-# 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
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function,
- # D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK ['"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx]"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
- if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && 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 <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT@&t@_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data. */
-# define LT@&t@_DLSYM_CONST
-#else
-# define LT@&t@_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT@&t@_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS=conftstm.$ac_objext
- CFLAGS="$CFLAGS$_LT_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_globsym_save_LIBS
- CFLAGS=$lt_globsym_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 -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test yes = "$pipe_works"; 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
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
- [Transform the output of nm into a list of symbols to manually relocate])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
- [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
- [The name lister interface])
-_LT_DECL([], [nm_file_list_spec], [1],
- [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test yes = "$GXX"; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test ia64 = "$host_cpu"; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # 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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # 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).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- case $host_os in
- os2*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
- ;;
- esac
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test ia64 = "$host_cpu"; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_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
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # 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).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
- if test ia64 != "$host_cpu"; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- ecpc* )
- # old Intel C++ for x86_64, which still supported -KPIC.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- icpc* )
- # Intel C++, used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
- # IBM XL 8.0, 9.0 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_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_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test yes = "$GCC"; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test ia64 = "$host_cpu"; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # 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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # 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).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- case $host_os in
- os2*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
- fi
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test ia64 = "$host_cpu"; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- case $cc_basename in
- nagfor*)
- # NAG Fortran compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # 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).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- case $host_os in
- os2*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
- ;;
- esac
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- case $cc_basename in
- # old Intel for x86_64, which still supported -KPIC.
- ecc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # flang / f18. f95 an alias for gfortran or flang on Debian
- flang* | f18* | f95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- tcc*)
- # Fabrice Bellard et al's Tiny C Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- *Sun\ F* | *Sun*Fortran*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- *Sun\ C*)
- # Sun C 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Intel*\ [[CF]]*Compiler*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- *Portland\ Group*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case $host_os in
- # For platforms that do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to GNU nm, but means don't demangle to AIX nm.
- # Without the "-l" option, or with the "-B" option, AIX nm treats
- # weak defined symbols like other global defined symbols, whereas
- # GNU nm marks them as "W".
- # While the 'weak' keyword is ignored in the Export File, we need
- # it in the Import File for the 'aix-soname' feature, so we have
- # to replace the "-B" option with "-P" for AIX nm.
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
- ;;
- cygwin* | mingw* | cegcc*)
- case $cc_basename in
- cl*)
- _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-], [
- runpath_var=
- _LT_TAGVAR(allow_undefined_flag, $1)=
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(archive_cmds, $1)=
- _LT_TAGVAR(archive_expsym_cmds, $1)=
- _LT_TAGVAR(compiler_needs_object, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(hardcode_automatic, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=
- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_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_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # 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.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # 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 yes != "$GCC"; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd* | bitrig*)
- with_gnu_ld=no
- ;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
- esac
-
- _LT_TAGVAR(ld_shlibs, $1)=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test yes = "$with_gnu_ld"; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
- *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test yes = "$lt_use_gnu_ld_interface"; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='$wl'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_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_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test ia64 != "$host_cpu"; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file, use it as
- # is; otherwise, prepend EXPORTS...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- shrext_cmds=.dll
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- prefix_cmds="$SED"~
- if test EXPORTS = "`$SED 1q $export_symbols`"; then
- prefix_cmds="$prefix_cmds -e 1d";
- fi~
- prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
- cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test linux-dietlibc = "$host_os"; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test no = "$tmp_diet"
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_sharedflag='--shared' ;;
- nagfor*) # NAGFOR 5.3
- tmp_sharedflag='-Wl,-shared' ;;
- xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-
- if test yes = "$supports_anon_versioning"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- tcc*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
- ;;
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test yes = "$supports_anon_versioning"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&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.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_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_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
- runpath_var=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm.
- # Without the "-l" option, or with the "-B" option, AIX nm treats
- # weak defined symbols like other global defined symbols, whereas
- # GNU nm marks them as "W".
- # While the 'weak' keyword is ignored in the Export File, we need
- # it in the Import File for the 'aix-soname' feature, so we have
- # to replace the "-B" option with "-P" for AIX nm.
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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
- # have runtime linking enabled, and use it for executables.
- # For shared libraries, we enable/disable runtime linking
- # depending on the kind of the shared library created -
- # when "with_aix_soname,aix_use_runtimelinking" is:
- # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
- # "aix,yes" lib.so shared, rtl:yes, for executables
- # lib.a static archive
- # "both,no" lib.so.V(shr.o) shared, rtl:yes
- # lib.a(lib.so.V) shared, rtl:no, for executables
- # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
- # lib.a(lib.so.V) shared, rtl:no
- # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
- # lib.a static archive
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
- # With aix-soname=svr4, we create the lib.so.V shared archives only,
- # so we don't have lib.a shared libs to link our executables.
- # We have to force runtime linking in this case.
- aix_use_runtimelinking=yes
- LDFLAGS="$LDFLAGS -Wl,-brtl"
- fi
- ;;
- 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_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
- case $with_aix_soname,$aix_use_runtimelinking in
- aix,*) ;; # traditional, no import file
- svr4,* | *,yes) # use import file
- # The Import File defines what to hardcode.
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- ;;
- esac
-
- if test yes = "$GCC"; 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
- :
- else
- # We have old collect2
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test yes = "$aix_use_runtimelinking"; then
- shared_flag="$shared_flag "'$wl-G'
- fi
- # Need to ensure runtime linking is disabled for the traditional
- # shared library, or the linker may eventually find shared libraries
- # /with/ Import File - we do not want to mix them.
- shared_flag_aix='-shared'
- shared_flag_svr4='-shared $wl-G'
- else
- # not using gcc
- if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
- shared_flag='$wl-G'
- else
- shared_flag='$wl-bM:SRE'
- fi
- shared_flag_aix='$wl-bM:SRE'
- shared_flag_svr4='$wl-G'
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
- else
- if test ia64 = "$host_cpu"; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_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_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
- if test yes = "$with_gnu_ld"; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
- # -brtl affects multiple linker settings, -berok does not and is overridden later
- compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
- if test svr4 != "$with_aix_soname"; then
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
- fi
- if test aix != "$with_aix_soname"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
- else
- # used by -dlpreopen to get the symbols
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
- fi
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- bsdi[[45]]*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # 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.
- case $cc_basename in
- cl*)
- # Native MSVC
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=.dll
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
- cp "$export_symbols" "$output_objdir/$soname.def";
- echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
- else
- $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile=$lt_outputfile.exe
- lt_tool_outputfile=$lt_tool_outputfile.exe
- ;;
- esac~
- if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_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_cmds=.dll
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $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_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2.*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test yes = "$GCC"; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- ;;
-
- hpux10*)
- if test yes,no = "$GCC,$with_gnu_ld"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test no = "$with_gnu_ld"; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test yes,no = "$GCC,$with_gnu_ld"; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- m4_if($1, [], [
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- _LT_LINKER_OPTION([if $CC understands -b],
- _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
- [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
- ;;
- esac
- fi
- if test no = "$with_gnu_ld"; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test yes = "$GCC"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
- [lt_cv_irix_exported_symbol],
- [save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
- AC_LINK_IFELSE(
- [AC_LANG_SOURCE(
- [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
- [C++], [[int foo (void) { return 0; }]],
- [Fortran 77], [[
- subroutine foo
- end]],
- [Fortran], [[
- subroutine foo
- end]])])],
- [lt_cv_irix_exported_symbol=yes],
- [lt_cv_irix_exported_symbol=no])
- LDFLAGS=$save_LDFLAGS])
- if test yes = "$lt_cv_irix_exported_symbol"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- linux*)
- case $cc_basename in
- tcc*)
- # Fabrice Bellard et al's Tiny C Compiler
- _LT_TAGVAR(ld_shlibs, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd* | bitrig*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- fi
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- shrext_cmds=.dll
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- prefix_cmds="$SED"~
- if test EXPORTS = "`$SED 1q $export_symbols`"; then
- prefix_cmds="$prefix_cmds -e 1d";
- fi~
- prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
- cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- osf3*)
- if test yes = "$GCC"; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test yes = "$GCC"; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test yes = "$GCC"; then
- wlarc='$wl'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_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'
- ;;
- *)
- wlarc='$wl'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_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 -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands '-z linker_flag'. GCC discards it without '$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test yes = "$GCC"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test sequent = "$host_vendor"; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test yes = "$GCC"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We CANNOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test yes = "$GCC"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test sni = "$host_vendor"; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test yes,yes = "$GCC,$enable_shared"; then
- case $_LT_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_CACHE_CHECK([whether -lc should be explicitly linked in],
- [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
- [$RM conftest*
- echo "$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_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- ])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
- [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
- [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
- DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting $shlibpath_var if the
- library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
- [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
- [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
- [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-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_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
- LT_SYS_DLOPEN_SELF
- _LT_CMD_STRIPLIB
-
- # Report what library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[[4-9]]*)
- if test ia64 != "$host_cpu"; then
- case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
- yes,aix,yes) ;; # shared object as lib.so file only
- yes,svr4,*) ;; # shared object as lib.so archive member only
- yes,*) enable_static=no ;; # shared object in lib.a archive as well
- esac
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test yes = "$enable_shared" || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC=$lt_save_CC
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test no != "$CXX" &&
- ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
- (test g++ != "$CXX"))); then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_caught_CXX_error"; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="int some_variable = 0;"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_CFLAGS=$CFLAGS
- 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
- $as_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
- $as_unset lt_cv_path_LD
- fi
- test -z "${LDCXX+set}" || LD=$LDCXX
- CC=${CXX-"c++"}
- CFLAGS=$CXXFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test yes = "$GXX"; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test yes = "$GXX"; then
- # Set up default GNU C++ configuration
-
- LT_PATH_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 yes = "$with_gnu_ld"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_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_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- 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.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $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 -v "^Configured with:" | $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_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test ia64 = "$host_cpu"; 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
- # have runtime linking enabled, and use it for executables.
- # For shared libraries, we enable/disable runtime linking
- # depending on the kind of the shared library created -
- # when "with_aix_soname,aix_use_runtimelinking" is:
- # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
- # "aix,yes" lib.so shared, rtl:yes, for executables
- # lib.a static archive
- # "both,no" lib.so.V(shr.o) shared, rtl:yes
- # lib.a(lib.so.V) shared, rtl:no, for executables
- # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
- # lib.a(lib.so.V) shared, rtl:no
- # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
- # lib.a static archive
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
- # With aix-soname=svr4, we create the lib.so.V shared archives only,
- # so we don't have lib.a shared libs to link our executables.
- # We have to force runtime linking in this case.
- aix_use_runtimelinking=yes
- LDFLAGS="$LDFLAGS -Wl,-brtl"
- fi
- ;;
- 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_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
- case $with_aix_soname,$aix_use_runtimelinking in
- aix,*) ;; # no import file
- svr4,* | *,yes) # use import file
- # The Import File defines what to hardcode.
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- ;;
- esac
-
- if test yes = "$GXX"; 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
- :
- else
- # We have old collect2
- _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test yes = "$aix_use_runtimelinking"; then
- shared_flag=$shared_flag' $wl-G'
- fi
- # Need to ensure runtime linking is disabled for the traditional
- # shared library, or the linker may eventually find shared libraries
- # /with/ Import File - we do not want to mix them.
- shared_flag_aix='-shared'
- shared_flag_svr4='-shared $wl-G'
- else
- # not using gcc
- if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
- shared_flag='$wl-G'
- else
- shared_flag='$wl-bM:SRE'
- fi
- shared_flag_aix='$wl-bM:SRE'
- shared_flag_svr4='$wl-G'
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to
- # export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- # The "-G" linker flag allows undefined symbols.
- _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
- else
- if test ia64 = "$host_cpu"; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_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_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
- if test yes = "$with_gnu_ld"; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
- # -brtl affects multiple linker settings, -berok does not and is overridden later
- compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
- if test svr4 != "$with_aix_soname"; then
- # This is similar to how AIX traditionally builds its shared
- # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
- fi
- if test aix != "$with_aix_soname"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
- else
- # used by -dlpreopen to get the symbols
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
- fi
- _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=.dll
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
- cp "$export_symbols" "$output_objdir/$soname.def";
- echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
- else
- $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile=$lt_outputfile.exe
- lt_tool_outputfile=$lt_tool_outputfile.exe
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # g++
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file, use it as
- # is; otherwise, prepend EXPORTS...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- shrext_cmds=.dll
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
- $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
- $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
- $ECHO EXPORTS >> $output_objdir/$libname.def~
- prefix_cmds="$SED"~
- if test EXPORTS = "`$SED 1q $export_symbols`"; then
- prefix_cmds="$prefix_cmds -e 1d";
- fi~
- prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
- cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
- $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
- emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- freebsd2.*)
- # C++ shared libraries reported to be fairly broken before
- # switch to ELF
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- freebsd-elf*)
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
-
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_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_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_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 "x$output_objdir/$soname" = "x$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; func_echo_all "$list"'
- ;;
- *)
- if test yes = "$GXX"; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- hpux10*|hpux11*)
- if test no = "$with_gnu_ld"; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_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_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_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; func_echo_all "$list"'
- ;;
- *)
- if test yes = "$GXX"; then
- if test no = "$with_gnu_ld"; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $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_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test yes = "$GXX"; then
- if test no = "$with_gnu_ld"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
- fi
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- 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_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_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; func_echo_all "$list"'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_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_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc* | ecpc* )
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_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'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- case `$CC -V` in
- *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_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=`func_echo_all "$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; func_echo_all "X$list" | $Xsed'
- ;;
- xl* | mpixl* | bgxl*)
- # IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test yes = "$supports_anon_versioning"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
- fi
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='func_echo_all'
-
- # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
-
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_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::"'
- ;;
-
- *nto* | *qnx*)
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- openbsd* | bitrig*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
- fi
- output_verbose_link_cmd=func_echo_all
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- osf3* | 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_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_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- case $host in
- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
- esac
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- case $host in
- osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- ;;
- *)
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
- _LT_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 $output_objdir/so_locations -o $lib~
- $RM $lib.exp'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- ;;
- esac
-
- _LT_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=`func_echo_all "$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; func_echo_all "$list"'
- ;;
- *)
- if test yes,no = "$GXX,$with_gnu_ld"; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
- case $host in
- osf3*)
- _LT_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" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
- _LT_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 -v "^Configured with:" | $GREP " \-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- psos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_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 $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands '-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='func_echo_all'
-
- # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_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_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test yes,no = "$GXX,$with_gnu_ld"; then
- _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -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 -v "^Configured with:" | $GREP " \-L"'
- else
- # g++ 2.7 appears to require '-G' NOT '-shared' on this
- # platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
- _LT_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 $wl-h $wl$soname -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 -v "^Configured with:" | $GREP " \-L"'
- fi
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We CANNOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
- _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
- _LT_TAGVAR(GCC, $1)=$GXX
- _LT_TAGVAR(LD, $1)=$LD
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
- LDCXX=$LD
- LD=$lt_save_LD
- GCC=$lt_save_GCC
- 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
-fi # test yes != "$_lt_caught_CXX_error"
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
- case @S|@2 in
- .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
- *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
- esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([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.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-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...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); 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
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case $prev$p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test x-L = "$p" ||
- test x-R = "$p"; then
- prev=$p
- continue
- fi
-
- # Expand the sysroot to ease extracting the directories later.
- if test -z "$prev"; then
- case $p in
- -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
- -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
- -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
- esac
- fi
- case $p in
- =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
- esac
- if test no = "$pre_test_object_deps_done"; then
- case $prev 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 "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
- else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $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 "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)=$prev$p
- else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
- fi
- fi
- prev=
- ;;
-
- *.lto.$objext) ;; # Ignore GCC LTO objects
- *.$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 no = "$pre_test_object_deps_done"; then
- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)=$p
- else
- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)=$p
- else
- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_TAGVAR(predep_objects,$1)=
- _LT_TAGVAR(postdep_objects,$1)=
- _LT_TAGVAR(postdeps,$1)=
- ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
- [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test no = "$F77"; then
- _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_F77"; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${F77-"f77"}
- CFLAGS=$FFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
- GCC=$G77
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test ia64 != "$host_cpu"; then
- case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
- yes,aix,yes) ;; # shared object as lib.so file only
- yes,svr4,*) ;; # shared object as lib.so archive member only
- yes,*) enable_static=no ;; # shared object in lib.a archive as well
- esac
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test yes = "$enable_shared" || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)=$G77
- _LT_TAGVAR(LD, $1)=$LD
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_F77"
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test no = "$FC"; then
- _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_FC"; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${FC-"f95"}
- CFLAGS=$FCFLAGS
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test ia64 != "$host_cpu"; then
- case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
- yes,aix,yes) ;; # shared object as lib.so file only
- yes,svr4,*) ;; # shared object as lib.so archive member only
- yes,*) enable_static=no ;; # shared object in lib.a archive as well
- esac
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test yes = "$enable_shared" || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
- _LT_TAGVAR(LD, $1)=$LD
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_FC"
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# 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.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# 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. #
-
-m4_defun([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
-IFS=$as_save_IFS
-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" && continue
- 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 10 -lt "$lt_ac_count" && 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_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine what file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
- [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
- [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
-
-# Helper functions for option handling. -*- Autoconf -*-
-#
-# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
-# Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 8 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
- _LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option '$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME. If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
- dnl
- dnl Simply set some default values (i.e off) if boolean options were not
- dnl specified:
- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
- ])
- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
- ])
- dnl
- dnl If no reference was made to various pairs of opposing options, then
- dnl we run the default mode handler for the pair. For example, if neither
- dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
- dnl archives by default:
- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
- _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
- [_LT_WITH_AIX_SONAME([aix])])
- ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the 'shared' and
-# 'disable-shared' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_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=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the 'static' and
-# 'disable-static' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_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=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the 'fast-install'
-# and 'disable-fast-install' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_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=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_AIX_SONAME([DEFAULT])
-# ----------------------------------
-# implement the --with-aix-soname flag, and support the `aix-soname=aix'
-# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
-# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
-m4_define([_LT_WITH_AIX_SONAME],
-[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
-shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[[5-9]]*,yes)
- AC_MSG_CHECKING([which variant of shared library versioning to provide])
- AC_ARG_WITH([aix-soname],
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
- [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
- [case $withval in
- aix|svr4|both)
- ;;
- *)
- AC_MSG_ERROR([Unknown argument to --with-aix-soname])
- ;;
- esac
- lt_cv_with_aix_soname=$with_aix_soname],
- [AC_CACHE_VAL([lt_cv_with_aix_soname],
- [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
- with_aix_soname=$lt_cv_with_aix_soname])
- AC_MSG_RESULT([$with_aix_soname])
- if test aix != "$with_aix_soname"; then
- # For the AIX way of multilib, we name the shared archive member
- # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
- # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
- # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
- # the AIX toolchain works better with OBJECT_MODE set (default 32).
- if test 64 = "${OBJECT_MODE-32}"; then
- shared_archive_member_spec=shr_64
- else
- shared_archive_member_spec=shr
- fi
- fi
- ;;
-*)
- with_aix_soname=aix
- ;;
-esac
-
-_LT_DECL([], [shared_archive_member_spec], [0],
- [Shared archive member basename, for filename based shared library versioning on AIX])dnl
-])# _LT_WITH_AIX_SONAME
-
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
-# LT_INIT options.
-# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [lt_p=${PACKAGE-default}
- case $withval in
- yes|no) pic_mode=$withval ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
- for lt_pkg in $withval; do
- IFS=$lt_save_ifs
- if test "X$lt_pkg" = "X$lt_p"; then
- pic_mode=yes
- fi
- done
- IFS=$lt_save_ifs
- ;;
- esac],
- [pic_mode=m4_default([$1], [default])])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
- [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
- [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
- [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
- [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
- [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
-# Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59, which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
- [m4_foreach([_Lt_suffix],
- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
- [lt_append([$1], [$2], [$3])$4],
- [$5])],
- [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-#
-# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 4179 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
-#
-# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
-# Foundation, Inc.
-# Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else. This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-
-# nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
-dnl Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can 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 is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_NLS],
-[
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE([nls],
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT([$USE_NLS])
- AC_SUBST([USE_NLS])
-])
-
-# po.m4 serial 24 (gettext-0.19)
-dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can 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 is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.60])
-
-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([AC_PROG_MKDIR_P])dnl
- AC_REQUIRE([AC_PROG_SED])dnl
- AC_REQUIRE([AM_NLS])dnl
-
- dnl Release version of the gettext macros. This is used to ensure that
- dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
- dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([MSGFMT_015])
-changequote(,)dnl
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([GMSGFMT_015])
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-changequote([,])dnl
- AC_SUBST([XGETTEXT_015])
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
- dnl Installation directories.
- dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
- dnl have to define it here, so that it can be used in po/Makefile.
- test -n "$localedir" || localedir='${datadir}/locale'
- AC_SUBST([localedir])
-
- dnl Support for AM_XGETTEXT_OPTION.
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
- AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
- AC_CONFIG_COMMANDS([po-directories], [[
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- case "$ac_file" in */Makefile.in)
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- # Treat a directory as a PO directory if and only if it has a
- # POTFILES.in file. This allows packages to have multiple PO
- # directories under different names or in different locations.
- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- gt_tab=`printf '\t'`
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
- POMAKEFILEDEPS="POTFILES.in"
- # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
- # on $ac_dir but don't depend on user-specified configuration
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done]],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake < 1.5.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
- # When this code is run, in config.status, two variables have already been
- # set:
- # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
- # - LINGUAS is the value of the environment variable LINGUAS at configure
- # time.
-
-changequote(,)dnl
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- # Find a way to echo strings without interpreting backslash.
- if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='echo'
- else
- if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='printf %s\n'
- else
- echo_func () {
- cat <<EOT
-$*
-EOT
- }
- gt_echo='echo_func'
- fi
- fi
-
- # A sed script that extracts the value of VARIABLE from a Makefile.
- tab=`printf '\t'`
- sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
- # Seen the first line of the variable definition.
- s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
- ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
- POMAKEFILEDEPS=""
-
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
- ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
- fi
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- # Compute PROPERTIESFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
- # Compute CLASSFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
- # Compute QMFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
- # Compute MSGFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
- # Compute RESOURCESDLLFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- PROPERTIESFILES=
- CLASSFILES=
- QMFILES=
- MSGFILES=
- RESOURCESDLLFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
- CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
- QMFILES="$QMFILES $srcdirpre$lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- JAVACATALOGS=
- QTCATALOGS=
- TCLCATALOGS=
- CSHARPCATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
- QTCATALOGS="$QTCATALOGS $lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
- done
- fi
-
- sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
- tab=`printf '\t'`
- if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
- # Add dependencies that cannot be formulated as a simple suffix rule.
- for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if test -n "$POMAKEFILEDEPS"; then
- cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
- fi
- mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
- XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
- AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
-
-# progtest.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can 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 is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ([2.50])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$][$1])
-else
- AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
-
-# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11538,10 +32,10 @@ AC_SUBST([$1])dnl
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.16'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.1], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -11557,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.1])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11616,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11647,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11838,12 +332,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
@@ -11851,41 +346,49 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- AS_CASE([$CONFIG_FILES],
- [*\'*], [eval set x "$CONFIG_FILES"],
- [*], [set x $CONFIG_FILES])
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
+ for mf
do
# Strip MF so we end up with the name of the file.
- am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
+ 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.
+ # Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`AS_DIRNAME(["$am_mf"])`
- am_filepart=`AS_BASENAME(["$am_mf"])`
- AM_RUN_LOG([cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles]) || am_rc=$?
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
- if test $am_rc -ne 0; then
- AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. Try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).])
- fi
- AS_UNSET([am_dirpart])
- AS_UNSET([am_filepart])
- AS_UNSET([am_mf])
- AS_UNSET([am_rc])
- rm -f conftest-deps.mk
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -11894,17 +397,18 @@ AC_DEFUN([_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.
-# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
-# order to bootstrap the dependency handling code.
+# 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" MAKE="${MAKE-make}"])])
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11991,8 +495,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
@@ -12059,7 +563,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <https://www.gnu.org/software/coreutils/>.
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -12101,7 +605,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12122,7 +626,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12144,7 +648,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12179,7 +683,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12187,42 +691,49 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# AM_MAKE_INCLUDE()
# -----------------
-# Check whether make has an 'include' directive that can support all
-# the idioms we need for our automatic dependency tracking code.
+# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
-[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
-cat > confinc.mk << 'END'
+[am_make=${MAKE-make}
+cat > confinc << 'END'
am__doit:
- @echo this is the am__doit target >confinc.out
+ @echo this is the am__doit target
.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__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
- AS_CASE([$?:`cat confinc.out 2>/dev/null`],
- ['0:this is the am__doit target'],
- [AS_CASE([$s],
- [BSD], [am__include='.include' am__quote='"'],
- [am__include='include' am__quote=''])])
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-AC_MSG_RESULT([${_am_result}])
-AC_SUBST([am__include])])
-AC_SUBST([am__quote])])
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12259,9 +770,41 @@ else
fi
])
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for 'mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME we are no longer going to remove this! adjust warning
+dnl FIXME message accordingly.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12290,7 +833,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12337,7 +880,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12356,7 +899,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12437,7 +980,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12497,7 +1040,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12525,7 +1068,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12544,7 +1087,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -12675,4 +1218,17 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
+m4_include([m4/gettext.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/nls.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
m4_include([acinclude.m4])
diff --git a/compile b/compile
index 99e50524..a85b723c 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
# 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, see <https://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -255,8 +255,7 @@ EOF
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
- icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -340,9 +339,9 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
diff --git a/config.h.in b/config.h.in
index 2b7268ec..3d2b8b08 100644
--- a/config.h.in
+++ b/config.h.in
@@ -30,20 +30,26 @@
/* Define to 1 if you have the <acl/libacl.h> header file. */
#undef HAVE_ACL_LIBACL_H
+/* Define to 1 if you have the `arc4random_buf' function. */
+#undef HAVE_ARC4RANDOM_BUF
+
/* Define to 1 if you have the <attr/error_context.h> header file. */
#undef HAVE_ATTR_ERROR_CONTEXT_H
/* Define to 1 if you have the <attr/libattr.h> header file. */
#undef HAVE_ATTR_LIBATTR_H
-/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT
-/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+/* Define to 1 if you have the <crypt.h> header file. */
+#undef HAVE_CRYPT_H
+
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
@@ -71,6 +77,9 @@
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
+/* Define to 1 if you have the `dlopen' function. */
+#undef HAVE_DLOPEN
+
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
@@ -92,6 +101,9 @@
/* Define to 1 if you have the `getaddrinfo' function. */
#undef HAVE_GETADDRINFO
+/* Define to 1 if you have the `getentropy' function. */
+#undef HAVE_GETENTROPY
+
/* Define to 1 if you have the `getgrgid_r' function. */
#undef HAVE_GETGRGID_R
@@ -110,6 +122,9 @@
/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R
+/* Define to 1 if you have the `getrandom' function. */
+#undef HAVE_GETRANDOM
+
/* Define to 1 if you have the `getspnam' function. */
#undef HAVE_GETSPNAM
@@ -131,7 +146,7 @@
/* Define to 1 if you have the <gshadow.h> header file. */
#undef HAVE_GSHADOW_H
-/* Define if you have the iconv() function and it works. */
+/* Define if you have the iconv() function. */
#undef HAVE_ICONV
/* Define to 1 if you have the `initgroups' function. */
@@ -382,6 +397,9 @@
*/
#undef HAVE_SYS_NDIR_H
+/* Define to 1 if you have the <sys/random.h> header file. */
+#undef HAVE_SYS_RANDOM_H
+
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
@@ -560,6 +578,9 @@
/* Define if utmpx should be used */
#undef USE_UTMPX
+/* Define to allow the yescrypt password encryption algorithm */
+#undef USE_YESCRYPT
+
/* Version number of package */
#undef VERSION
diff --git a/configure b/configure
index 6a6abc01..e4caa8ee 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for shadow 4.8.1.
+# Generated by GNU Autoconf 2.69 for shadow 4.9.
#
# Report bugs to <pkg-shadow-devel@lists.alioth.debian.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='shadow'
PACKAGE_TARNAME='shadow'
-PACKAGE_VERSION='4.8.1'
-PACKAGE_STRING='shadow 4.8.1'
+PACKAGE_VERSION='4.9'
+PACKAGE_STRING='shadow 4.9'
PACKAGE_BUGREPORT='pkg-shadow-devel@lists.alioth.debian.org'
PACKAGE_URL='https://github.com/shadow-maint/shadow'
@@ -645,7 +645,6 @@ INTLLIBS
LTLIBICONV
LIBICONV
INTL_MACOSX_LIBS
-XGETTEXT_EXTRA_OPTIONS
MSGMERGE
XGETTEXT_015
XGETTEXT
@@ -653,7 +652,6 @@ GMSGFMT_015
MSGFMT_015
GMSGFMT
MSGFMT
-GETTEXT_MACRO_VERSION
USE_NLS
LIBMD
LIBSKEY
@@ -676,6 +674,7 @@ LIBCRACK
LIBAUDIT
LIBATTR
LIBACL
+LIYESCRYPT
LIBCRYPT
ENABLE_SUBIDS_FALSE
ENABLE_SUBIDS_TRUE
@@ -693,6 +692,8 @@ LIBECONF
ECONF_CPPFLAGS
WITH_SU_FALSE
WITH_SU_TRUE
+USE_YESCRYPT_FALSE
+USE_YESCRYPT_TRUE
USE_BCRYPT_FALSE
USE_BCRYPT_TRUE
USE_SHA_CRYPT_FALSE
@@ -742,6 +743,7 @@ am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
+am__quote
am__include
DEPDIR
OBJEXT
@@ -751,6 +753,10 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
+LIBSUBID_ABI
+LIBSUBID_ABI_MICRO
+LIBSUBID_ABI_MINOR
+LIBSUBID_ABI_MAJOR
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
@@ -816,15 +822,14 @@ PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
-SHELL
-am__quote'
+SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_silent_rules
enable_dependency_tracking
-enable_shared
enable_static
+enable_shared
enable_maintainer_mode
with_pic
enable_fast_install
@@ -849,6 +854,7 @@ with_tcb
with_libcrack
with_sha_crypt
with_bcrypt
+with_yescrypt
with_nscd
with_sssd
with_group_name_max_length
@@ -1423,7 +1429,7 @@ 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 <<_ACEOF
-\`configure' configures shadow 4.8.1 to adapt to many kinds of systems.
+\`configure' configures shadow 4.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1494,7 +1500,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of shadow 4.8.1:";;
+ short | recursive ) echo "Configuration of shadow 4.9:";;
esac
cat <<\_ACEOF
@@ -1508,8 +1514,8 @@ Optional Features:
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
- --enable-shared[=PKGS] build shared libraries [default=no]
--enable-static[=PKGS] build static libraries [default=yes]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
@@ -1556,6 +1562,8 @@ Optional Packages:
algorithms [default=yes]
--with-bcrypt allow the bcrypt password encryption algorithm
[default=no]
+ --with-yescrypt allow the yescrypt password encryption algorithm
+ [default=no]
--with-nscd enable support for nscd [default=yes]
--with-sssd enable support for flushing sssd caches
[default=yes]
@@ -1567,7 +1575,7 @@ Optional Packages:
path to xml catalog to use
--with-fcaps use file capabilities instead of suid binaries for
newuidmap/newgidmap [default=no]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
@@ -1658,7 +1666,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-shadow configure 4.8.1
+shadow configure 4.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2367,7 +2375,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by shadow $as_me 4.8.1, which was
+It was created by shadow $as_me 4.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2717,7 +2725,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-am__api_version='1.16'
+am__api_version='1.15'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -3232,7 +3240,7 @@ fi
# Define the identity of the package.
PACKAGE='shadow'
- VERSION='4.8.1'
+ VERSION='4.9'
cat >>confdefs.h <<_ACEOF
@@ -3262,8 +3270,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
# We need awk for the "check" target (and possibly the TAP driver). The
@@ -3314,7 +3322,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <https://www.gnu.org/software/coreutils/>.
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -3325,6 +3333,7 @@ END
fi
fi
+
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
@@ -3367,6 +3376,15 @@ AM_BACKSLASH='\'
ac_config_headers="$ac_config_headers config.h"
+LIBSUBID_ABI_MAJOR=3
+
+LIBSUBID_ABI_MINOR=0
+
+LIBSUBID_ABI_MICRO=0
+
+LIBSUBID_ABI=3.0.0
+
+
test "$prefix" = "NONE" && prefix="/usr"
test "$prefix" = "/usr" && exec_prefix=""
@@ -3374,45 +3392,45 @@ DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
-$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
-cat > confinc.mk << 'END'
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
am__doit:
- @echo this is the am__doit target >confinc.out
+ @echo this is the am__doit target
.PHONY: am__doit
END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
- (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- case $?:`cat confinc.out 2>/dev/null` in #(
- '0:this is the am__doit target') :
- case $s in #(
- BSD) :
- am__include='.include' am__quote='"' ;; #(
- *) :
- am__include='include' am__quote='' ;;
-esac ;; #(
- *) :
- ;;
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
esac
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
-$as_echo "${_am_result}" >&6; }
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
@@ -4870,27 +4888,27 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
+# Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
*)
- enable_shared=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_shared=yes
+ enable_static=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
- enable_shared=no
+ enable_static=yes
fi
@@ -4901,27 +4919,27 @@ fi
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
+# Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
*)
- enable_static=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_static=yes
+ enable_shared=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else
- enable_static=yes
+ enable_shared=yes
fi
@@ -7824,8 +7842,11 @@ _LT_EOF
test $ac_status = 0; }; then
# Now try to grab the symbols.
nlist=conftest.nm
- $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
- if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
+ if { { eval echo "\"\$as_me\":${as_lineno-$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=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
@@ -9598,6 +9619,10 @@ _lt_linker_boilerplate=`cat conftest.err`
$RM -r conftest*
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
@@ -9843,12 +9868,6 @@ lt_prog_compiler_static=
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
- # flang / f18. f95 an alias for gfortran or flang on Debian
- flang* | f18* | f95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)
@@ -13815,11 +13834,11 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
fi
-for ac_header in errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \
+for ac_header in crypt.h 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/capability.h sys/resource.h gshadow.h lastlog.h \
- locale.h rpc/key_prot.h netdb.h acl/libacl.h attr/libattr.h \
- attr/error_context.h
+ utime.h ulimit.h sys/capability.h sys/random.h sys/resource.h \
+ gshadow.h lastlog.h locale.h rpc/key_prot.h netdb.h acl/libacl.h \
+ attr/libattr.h attr/error_context.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -13842,11 +13861,12 @@ fi
-for ac_func in l64a fchmod fchown fsync futimes getgroups gethostname getspnam \
- gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \
- lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \
- getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \
- ruserok
+for ac_func in arc4random_buf l64a fchmod fchown fsync futimes getgroups \
+ gethostname getentropy getrandom getspnam gettimeofday getusershell \
+ getutent initgroups lchown lckpwdf lstat lutimes memcpy memset \
+ setgroups sigaction strchr updwtmp updwtmpx innetgr getpwnam_r \
+ getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo ruserok \
+ dlopen
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -15325,6 +15345,14 @@ else
fi
+# Check whether --with-yescrypt was given.
+if test "${with_yescrypt+set}" = set; then :
+ withval=$with_yescrypt; with_yescrypt=$withval
+else
+ with_yescrypt=no
+fi
+
+
# Check whether --with-nscd was given.
if test "${with_nscd+set}" = set; then :
withval=$with_nscd; with_nscd=$withval
@@ -15398,6 +15426,20 @@ $as_echo "#define USE_BCRYPT 1" >>confdefs.h
fi
+ if test "x$with_yescrypt" = "xyes"; then
+ USE_YESCRYPT_TRUE=
+ USE_YESCRYPT_FALSE='#'
+else
+ USE_YESCRYPT_TRUE='#'
+ USE_YESCRYPT_FALSE=
+fi
+
+if test "$with_yescrypt" = "yes"; then
+
+$as_echo "#define USE_YESCRYPT 1" >>confdefs.h
+
+fi
+
if test "$with_nscd" = "yes"; then
ac_fn_c_check_func "$LINENO" "posix_spawn" "ac_cv_func_posix_spawn"
if test "x$ac_cv_func_posix_spawn" = xyes; then :
@@ -15985,6 +16027,50 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
+$as_echo_n "checking for crypt in -lcrypt... " >&6; }
+if ${ac_cv_lib_crypt_crypt+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypt $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char crypt ();
+int
+main ()
+{
+return crypt ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_crypt_crypt=yes
+else
+ ac_cv_lib_crypt_crypt=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
+$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
+ LIYESCRYPT=-lcrypt
+else
+ as_fn_error $? "crypt() not found" "$LINENO" 5
+fi
+
+
+
if test "$with_acl" != "no"; then
for ac_header in acl/libacl.h attr/error_context.h
do :
@@ -17215,6 +17301,13 @@ _ACEOF
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
$as_echo_n "checking whether NLS is requested... " >&6; }
# Check whether --enable-nls was given.
@@ -17230,22 +17323,20 @@ $as_echo "$USE_NLS" >&6; }
- GETTEXT_MACRO_VERSION=0.19
-
-
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
+ 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,
@@ -17360,14 +17451,15 @@ fi
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
+ 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,
@@ -17437,14 +17529,15 @@ fi
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
+ 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,
@@ -17505,9 +17598,6 @@ fi
test -n "$localedir" || localedir='${datadir}/locale'
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-
-
ac_config_commands="$ac_config_commands po-directories"
@@ -17528,7 +17618,6 @@ fi
prefix="$acl_save_prefix"
-
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
@@ -17539,21 +17628,21 @@ fi
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
- # contains only /bin. Note that ksh looks also at the FPATH variable,
- # so we have to set that as well for the test.
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
- || PATH_SEPARATOR=';'
- }
+ 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.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -17563,12 +17652,12 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
esac
case $ac_prog in
# Accept absolute paths.
- [\\/]* | ?:[\\/]*)
+ [\\/]* | [A-Za-z]:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname 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%/%"`
+ # 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"
;;
@@ -17592,26 +17681,23 @@ if ${acl_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
- IFS="$acl_save_ifs"
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 variants of GNU ld only accept -v.
+ # but apparently some GNU ld's only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
+ test "$with_gnu_ld" != no && break ;;
*)
- test "$with_gnu_ld" != yes && break
- ;;
+ test "$with_gnu_ld" != yes && break ;;
esac
fi
done
- IFS="$acl_save_ifs"
+ IFS="$ac_save_ifs"
else
acl_cv_path_LD="$LD" # Let the user override the test with a path.
fi
@@ -17631,14 +17717,12 @@ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if ${acl_cv_prog_gnu_ld+:} false; then :
$as_echo_n "(cached) " >&6
else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes
- ;;
+ acl_cv_prog_gnu_ld=yes ;;
*)
- acl_cv_prog_gnu_ld=no
- ;;
+ acl_cv_prog_gnu_ld=no ;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
@@ -17664,14 +17748,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
$as_echo "$acl_cv_rpath" >&6; }
wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ 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 was given.
if test "${enable_rpath+set}" = set; then :
enableval=$enable_rpath; :
@@ -17681,71 +17763,23 @@ fi
-
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
-if ${gl_cv_solaris_64bit+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef _LP64
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
- gl_cv_solaris_64bit=yes
-else
- gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ acl_libdirstem=lib
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
esac
fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-
-
-
-
+ done
+ IFS="$acl_save_IFS"
+ fi
@@ -17790,10 +17824,6 @@ if test "${with_libiconv_prefix+set}" = set; then :
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
fi
fi
@@ -17802,8 +17832,6 @@ fi
LIBICONV=
LTLIBICONV=
INCICONV=
- LIBICONV_PREFIX=
- HAVE_LIBICONV=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -17821,7 +17849,7 @@ fi
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
@@ -17837,50 +17865,27 @@ fi
found_la=
found_so=
found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
+ if test -n "$shlibext" \
+ && { test -f "$additional_libdir/lib$name.$shlibext" \
+ || { test "$shlibext" = dll \
+ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+ found_dir="$additional_libdir"
+ if test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_so="$additional_libdir/lib$name.$shlibext"
else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
+ found_so="$additional_libdir/lib$name.dll.a"
fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
+ 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
@@ -17898,42 +17903,26 @@ fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
+ if test -n "$shlibext" \
+ && { test -f "$dir/lib$name.$shlibext" \
+ || { test "$shlibext" = dll \
+ && test -f "$dir/lib$name.dll.a"; }; }; then
+ found_dir="$dir"
+ if test -f "$dir/lib$name.$shlibext"; then
+ found_so="$dir/lib$name.$shlibext"
else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
+ found_so="$dir/lib$name.dll.a"
fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
+ 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
;;
@@ -17946,9 +17935,7 @@ 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/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
haveit=
@@ -17961,10 +17948,10 @@ fi
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$acl_hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -17996,7 +17983,7 @@ fi
if test -z "$haveit"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
fi
- if test "$acl_hardcode_minus_L" != no; then
+ if test "$hardcode_minus_L" != no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
@@ -18015,16 +18002,6 @@ fi
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'iconv'; then
- LIBICONV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'iconv'; then
- LIBICONV_PREFIX="$basedir"
- fi
additional_includedir="$basedir/include"
;;
esac
@@ -18073,11 +18050,9 @@ fi
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -18177,21 +18152,21 @@ fi
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
+ if test -n "$hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ 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=\"$acl_hardcode_libdir_flag_spec\"
+ eval flag=\"$hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
@@ -18227,12 +18202,6 @@ fi
-
-
-
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
@@ -18328,12 +18297,12 @@ $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
if test $gt_api_version -ge 3; then
- gt_revision_test_code='
+ gt_revision_test_code='[
#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-'
+]'
else
gt_revision_test_code=
fi
@@ -18350,24 +18319,15 @@ if eval \${$gt_func_gnugettext_libc+:} false; then :
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-
int
main ()
{
-
bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
;
return 0;
}
@@ -18425,16 +18385,14 @@ else
am_cv_lib_iconv=no
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <stdlib.h>
#include <iconv.h>
-
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
@@ -18449,16 +18407,14 @@ rm -f core conftest.err conftest.$ac_objext \
LIBS="$LIBS $LIBICONV"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <stdlib.h>
#include <iconv.h>
-
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
@@ -18476,157 +18432,6 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
$as_echo "$am_cv_func_iconv" >&6; }
if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- am_cv_func_iconv_works=no
- for ac_iconv_const in '' 'const'; do
- if test "$cross_compiling" = yes; then :
- case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <iconv.h>
-#include <string.h>
-
-#ifndef ICONV_CONST
-# define ICONV_CONST $ac_iconv_const
-#endif
-
-int
-main ()
-{
-int result = 0;
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 1;
- iconv_close (cd_utf8_to_88591);
- }
- }
- /* Test against Solaris 10 bug: Failures are not distinguishable from
- successful returns. */
- {
- iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
- if (cd_ascii_to_88591 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\263";
- char buf[10];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_ascii_to_88591,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- result |= 2;
- iconv_close (cd_ascii_to_88591);
- }
- }
- /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304";
- static char buf[2] = { (char)0xDE, (char)0xAD };
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = 1;
- char *outptr = buf;
- size_t outbytesleft = 1;
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
- result |= 4;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- ICONV_CONST char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- result |= 8;
- iconv_close (cd_88591_to_utf8);
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- result |= 16;
- return result;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- am_cv_func_iconv_works=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- test "$am_cv_func_iconv_works" = no || break
- done
- LIBS="$am_save_LIBS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
$as_echo "#define HAVE_ICONV 1" >>confdefs.h
@@ -18648,10 +18453,6 @@ $as_echo "$LIBICONV" >&6; }
-
-
-
-
use_additional=yes
acl_save_prefix="$prefix"
@@ -18688,10 +18489,6 @@ if test "${with_libintl_prefix+set}" = set; then :
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
fi
fi
@@ -18700,8 +18497,6 @@ fi
LIBINTL=
LTLIBINTL=
INCINTL=
- LIBINTL_PREFIX=
- HAVE_LIBINTL=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -18719,7 +18514,7 @@ fi
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
@@ -18735,50 +18530,27 @@ fi
found_la=
found_so=
found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
+ if test -n "$shlibext" \
+ && { test -f "$additional_libdir/lib$name.$shlibext" \
+ || { test "$shlibext" = dll \
+ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+ found_dir="$additional_libdir"
+ if test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_so="$additional_libdir/lib$name.$shlibext"
else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
+ found_so="$additional_libdir/lib$name.dll.a"
fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
+ 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
@@ -18796,42 +18568,26 @@ fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
+ if test -n "$shlibext" \
+ && { test -f "$dir/lib$name.$shlibext" \
+ || { test "$shlibext" = dll \
+ && test -f "$dir/lib$name.dll.a"; }; }; then
+ found_dir="$dir"
+ if test -f "$dir/lib$name.$shlibext"; then
+ found_so="$dir/lib$name.$shlibext"
else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
+ found_so="$dir/lib$name.dll.a"
fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
+ 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
;;
@@ -18844,9 +18600,7 @@ 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/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
haveit=
@@ -18859,10 +18613,10 @@ fi
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$acl_hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -18894,7 +18648,7 @@ fi
if test -z "$haveit"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
fi
- if test "$acl_hardcode_minus_L" != no; then
+ if test "$hardcode_minus_L" != no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
@@ -18913,16 +18667,6 @@ fi
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'intl'; then
- LIBINTL_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'intl'; then
- LIBINTL_PREFIX="$basedir"
- fi
additional_includedir="$basedir/include"
;;
esac
@@ -18971,11 +18715,9 @@ fi
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -19075,21 +18817,21 @@ fi
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
+ if test -n "$hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ 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=\"$acl_hardcode_libdir_flag_spec\"
+ eval flag=\"$hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
done
@@ -19101,11 +18843,6 @@ fi
done
fi
-
-
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
$as_echo_n "checking for GNU gettext in libintl... " >&6; }
if eval \${$gt_func_gnugettext_libintl+:} false; then :
@@ -19117,28 +18854,19 @@ else
LIBS="$LIBS $LIBINTL"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-
int
main ()
{
-
bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
;
return 0;
}
@@ -19154,36 +18882,27 @@ rm -f core conftest.err conftest.$ac_objext \
LIBS="$LIBS $LIBICONV"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <libintl.h>
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias (const char *);
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
-#else
-#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
-#endif
-$gt_revision_test_code
-
int
main ()
{
-
bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
-
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
fi
rm -f core conftest.err conftest.$ac_objext \
@@ -19310,7 +19029,7 @@ else
fi
-ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/config.xml man/po/Makefile man/cs/Makefile man/da/Makefile man/de/Makefile man/es/Makefile man/fi/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/sv/Makefile man/tr/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"
+ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/config.xml man/po/Makefile man/cs/Makefile man/da/Makefile man/de/Makefile man/es/Makefile man/fi/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/sv/Makefile man/tr/Makefile man/zh_CN/Makefile man/zh_TW/Makefile libmisc/Makefile lib/Makefile libsubid/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
@@ -19461,6 +19180,10 @@ if test -z "${USE_BCRYPT_TRUE}" && test -z "${USE_BCRYPT_FALSE}"; then
as_fn_error $? "conditional \"USE_BCRYPT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${USE_YESCRYPT_TRUE}" && test -z "${USE_YESCRYPT_FALSE}"; then
+ as_fn_error $? "conditional \"USE_YESCRYPT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${WITH_SU_TRUE}" && test -z "${WITH_SU_FALSE}"; then
as_fn_error $? "conditional \"WITH_SU\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -19906,7 +19629,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by shadow $as_me 4.8.1, which was
+This file was extended by shadow $as_me 4.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19973,7 +19696,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-shadow config.status 4.8.1
+shadow config.status 4.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -20092,7 +19815,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
-AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
# The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -20102,8 +19825,8 @@ AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
@@ -20422,6 +20145,7 @@ do
"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" ;;
+ "libsubid/Makefile") CONFIG_FILES="$CONFIG_FILES libsubid/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
"etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
@@ -21026,35 +20750,29 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- case $CONFIG_FILES in #(
- *\'*) :
- eval set x "$CONFIG_FILES" ;; #(
- *) :
- set x $CONFIG_FILES ;; #(
- *) :
- ;;
-esac
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
+ for mf
do
# Strip MF so we end up with the name of the file.
- am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
+ 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.
+ # Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`$as_dirname -- "$am_mf" ||
-$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$am_mf" : 'X\(//\)[^/]' \| \
- X"$am_mf" : 'X\(//\)$' \| \
- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$am_mf" |
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21072,48 +20790,53 @@ $as_echo X"$am_mf" |
q
}
s/.*/./; q'`
- am_filepart=`$as_basename -- "$am_mf" ||
-$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
- X"$am_mf" : 'X\(//\)$' \| \
- X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$am_mf" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
- /^X\/\(\/\/\)$/{
+ /^X\(\/\/\)[^/].*/{
s//\1/
q
}
- /^X\/\(\/\).*/{
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
- { echo "$as_me:$LINENO: cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles" >&5
- (cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } || am_rc=$?
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
- if test $am_rc -ne 0; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. Try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- { am_dirpart=; unset am_dirpart;}
- { am_filepart=; unset am_filepart;}
- { am_mf=; unset am_mf;}
- { am_rc=; unset am_rc;}
- rm -f conftest-deps.mk
}
;;
"libtool":C)
@@ -21167,12 +20890,12 @@ available_tags=''
# ### BEGIN LIBTOOL CONFIG
-# 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 build shared libraries.
+build_libtool_libs=$enable_shared
+
# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision
@@ -21668,7 +21391,7 @@ ltmain=$ac_aux_dir/ltmain.sh
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_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.
@@ -21684,8 +21407,7 @@ ltmain=$ac_aux_dir/ltmain.sh
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"
- gt_tab=`printf '\t'`
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
POMAKEFILEDEPS="POTFILES.in"
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
# on $ac_dir but don't depend on user-specified configuration
@@ -21696,12 +21418,12 @@ ltmain=$ac_aux_dir/ltmain.sh
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
fi
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
@@ -21829,6 +21551,7 @@ echo " shadow group support: $enable_shadowgrp"
echo " S/Key support: $with_skey"
echo " SHA passwords encryption: $with_sha_crypt"
echo " bcrypt passwords encryption: $with_bcrypt"
+echo " yescrypt passwords encryption: $with_yescrypt"
echo " nscd support: $with_nscd"
echo " sssd support: $with_sssd"
echo " subordinate IDs support: $enable_subids"
diff --git a/configure.ac b/configure.ac
index e4c6aaec..0f237cc1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,19 +1,29 @@
dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.64])
-AC_INIT([shadow], [4.8.1], [pkg-shadow-devel@lists.alioth.debian.org], [],
+AC_PREREQ([2.69])
+m4_define([libsubid_abi_major], 3)
+m4_define([libsubid_abi_minor], 0)
+m4_define([libsubid_abi_micro], 0)
+m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro])
+AC_INIT([shadow], [4.9], [pkg-shadow-devel@lists.alioth.debian.org], [],
[https://github.com/shadow-maint/shadow])
AM_INIT_AUTOMAKE([1.11 foreign dist-xz])
+AC_CONFIG_MACRO_DIRS([m4])
AM_SILENT_RULES([yes])
AC_CONFIG_HEADERS([config.h])
+AC_SUBST([LIBSUBID_ABI_MAJOR], [libsubid_abi_major])
+AC_SUBST([LIBSUBID_ABI_MINOR], [libsubid_abi_minor])
+AC_SUBST([LIBSUBID_ABI_MICRO], [libsubid_abi_micro])
+AC_SUBST([LIBSUBID_ABI], [libsubid_abi])
+
dnl Some hacks...
test "$prefix" = "NONE" && prefix="/usr"
test "$prefix" = "/usr" && exec_prefix=""
AC_GNU_SOURCE
-AM_DISABLE_SHARED
AM_ENABLE_STATIC
+AM_ENABLE_SHARED
AM_MAINTAINER_MODE
@@ -32,20 +42,21 @@ AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_STDBOOL
-AC_CHECK_HEADERS(errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \
+AC_CHECK_HEADERS(crypt.h 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/capability.h sys/resource.h gshadow.h lastlog.h \
- locale.h rpc/key_prot.h netdb.h acl/libacl.h attr/libattr.h \
- attr/error_context.h)
+ utime.h ulimit.h sys/capability.h sys/random.h sys/resource.h \
+ gshadow.h lastlog.h locale.h rpc/key_prot.h netdb.h acl/libacl.h \
+ attr/libattr.h attr/error_context.h)
dnl shadow now uses the libc's shadow implementation
AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])])
-AC_CHECK_FUNCS(l64a fchmod fchown fsync futimes getgroups gethostname getspnam \
- gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \
- lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \
- getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \
- ruserok)
+AC_CHECK_FUNCS(arc4random_buf l64a fchmod fchown fsync futimes getgroups \
+ gethostname getentropy getrandom getspnam gettimeofday getusershell \
+ getutent initgroups lchown lckpwdf lstat lutimes memcpy memset \
+ setgroups sigaction strchr updwtmp updwtmpx innetgr getpwnam_r \
+ getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo ruserok \
+ dlopen)
AC_SYS_LARGEFILE
dnl Checks for typedefs, structures, and compiler characteristics.
@@ -280,6 +291,9 @@ AC_ARG_WITH(sha-crypt,
AC_ARG_WITH(bcrypt,
[AC_HELP_STRING([--with-bcrypt], [allow the bcrypt password encryption algorithm @<:@default=no@:>@])],
[with_bcrypt=$withval], [with_bcrypt=no])
+AC_ARG_WITH(yescrypt,
+ [AC_HELP_STRING([--with-yescrypt], [allow the yescrypt password encryption algorithm @<:@default=no@:>@])],
+ [with_yescrypt=$withval], [with_yescrypt=no])
AC_ARG_WITH(nscd,
[AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
[with_nscd=$withval], [with_nscd=yes])
@@ -312,6 +326,11 @@ if test "$with_bcrypt" = "yes"; then
AC_DEFINE(USE_BCRYPT, 1, [Define to allow the bcrypt password encryption algorithm])
fi
+AM_CONDITIONAL(USE_YESCRYPT, test "x$with_yescrypt" = "xyes")
+if test "$with_yescrypt" = "yes"; then
+ AC_DEFINE(USE_YESCRYPT, 1, [Define to allow the yescrypt password encryption algorithm])
+fi
+
if test "$with_nscd" = "yes"; then
AC_CHECK_FUNC(posix_spawn,
[AC_DEFINE(USE_NSCD, 1, [Define to support flushing of nscd caches])],
@@ -392,6 +411,10 @@ AC_SUBST(LIBCRYPT)
AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt],
[AC_MSG_ERROR([crypt() not found])])
+AC_SUBST(LIYESCRYPT)
+AC_CHECK_LIB(crypt, crypt, [LIYESCRYPT=-lcrypt],
+ [AC_MSG_ERROR([crypt() not found])])
+
AC_SUBST(LIBACL)
if test "$with_acl" != "no"; then
AC_CHECK_HEADERS(acl/libacl.h attr/error_context.h, [acl_header="yes"], [acl_header="no"])
@@ -715,6 +738,7 @@ AC_CONFIG_FILES([
man/zh_TW/Makefile
libmisc/Makefile
lib/Makefile
+ libsubid/Makefile
src/Makefile
contrib/Makefile
etc/Makefile
@@ -741,6 +765,7 @@ echo " shadow group support: $enable_shadowgrp"
echo " S/Key support: $with_skey"
echo " SHA passwords encryption: $with_sha_crypt"
echo " bcrypt passwords encryption: $with_bcrypt"
+echo " yescrypt passwords encryption: $with_yescrypt"
echo " nscd support: $with_nscd"
echo " sssd support: $with_sssd"
echo " subordinate IDs support: $enable_subids"
diff --git a/contrib/Makefile.in b/contrib/Makefile.in
index bd882366..f68e3c7a 100644
--- a/contrib/Makefile.in
+++ b/contrib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -92,8 +92,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = contrib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -149,7 +155,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -178,9 +183,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -218,7 +228,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -302,8 +311,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -327,10 +336,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/depcomp b/depcomp
index 65cbf709..b39f98f9 100755
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 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
@@ -16,7 +16,7 @@ scriptversion=2018-03-07.03; # UTC
# 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, see <https://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 0323749b..72c26b74 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -92,8 +92,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -149,7 +155,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -178,9 +183,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -218,7 +228,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -301,8 +310,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -326,10 +335,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/etc/Makefile.am b/etc/Makefile.am
index cc31c609..c5c0620b 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -4,8 +4,7 @@
sysconf_DATA = login.defs
defaultdir = $(sysconfdir)/default
-default_DATA = \
- useradd
+default_DATA =
nonpam_files = \
limits \
diff --git a/etc/Makefile.in b/etc/Makefile.in
index 58ec0cce..464eee9b 100644
--- a/etc/Makefile.in
+++ b/etc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -93,8 +93,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = etc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -166,7 +172,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir distdir-am
+ distdir
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -240,7 +246,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -269,9 +274,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -309,7 +319,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -371,9 +380,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
sysconf_DATA = login.defs
defaultdir = $(sysconfdir)/default
-default_DATA = \
- useradd
-
+default_DATA =
nonpam_files = \
limits \
login.access
@@ -406,8 +413,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -587,10 +594,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/etc/login.defs b/etc/login.defs
index a2f8cd50..94a2b1bc 100644
--- a/etc/login.defs
+++ b/etc/login.defs
@@ -295,7 +295,7 @@ CHFN_AUTH yes
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
-#
+#
CHFN_RESTRICT rwh
#
@@ -326,7 +326,9 @@ CHFN_RESTRICT rwh
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
# If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password
+# If set to YESCRYPT, YESCRYPT-based algorithm will be used for encrypting password
# If set to DES, DES-based algorithm will be used for encrypting password (default)
+# MD5 and DES should not be used for new hashes, see crypt(5) for recommendations.
# Overrides the MD5_CRYPT_ENAB option
#
# Note: If you use PAM, it is recommended to use a value consistent with
@@ -342,7 +344,8 @@ CHFN_RESTRICT rwh
# However, more CPU resources will be needed to authenticate users if
# this value is increased.
#
-# If not specified, the libc will choose the default number of rounds (5000).
+# If not specified, the libc will choose the default number of rounds (5000),
+# which is orders of magnitude too low for modern hardware.
# The values must be within the 1000-999999999 range.
# If only one of the MIN or MAX values is set, then this value will be used.
# If MIN > MAX, the highest value will be used.
@@ -366,6 +369,19 @@ CHFN_RESTRICT rwh
#BCRYPT_MAX_ROUNDS 13
#
+# Only works if ENCRYPT_METHOD is set to YESCRYPT.
+#
+# Define the YESCRYPT cost factor.
+# With a higher cost factor, it is more difficult to brute-force the password.
+# However, more CPU time and more memory will be needed to authenticate users
+# if this value is increased.
+#
+# If not specified, a cost factor of 5 will be used.
+# The value must be within the 1-11 range.
+#
+#YESCRYPT_COST_FACTOR 5
+
+#
# List of groups to add to the user's supplementary group set
# when logging in from the console (as determined by the CONSOLE
# setting). Default is none.
@@ -383,6 +399,14 @@ CHFN_RESTRICT rwh
DEFAULT_HOME yes
#
+# The pwck(8) utility emits a warning for any system account with a home
+# directory that does not exist. Some system accounts intentionally do
+# not have a home directory. Such accounts may have this string as
+# their home directory in /etc/passwd to avoid a spurious warning.
+#
+NONEXISTENT /nonexistent
+
+#
# If this file exists and is readable, login environment will be
# read from it. Every line should be in the form name=value.
#
@@ -428,3 +452,28 @@ USERGROUPS_ENAB yes
# missing.
#
#FORCE_SHADOW yes
+
+#
+# Allow newuidmap and newgidmap when running under an alternative
+# primary group.
+#
+#GRANT_AUX_GROUP_SUBIDS yes
+
+#
+# Prevents an empty password field to be interpreted as "no authentication
+# required".
+# Set to "yes" to prevent for all accounts
+# Set to "superuser" to prevent for UID 0 / root (default)
+# Set to "no" to not prevent for any account (dangerous, historical default)
+
+PREVENT_NO_AUTH superuser
+
+#
+# Select the HMAC cryptography algorithm.
+# Used in pam_timestamp module to calculate the keyed-hash message
+# authentication code.
+#
+# Note: It is recommended to check hmac(3) to see the possible algorithms
+# that are available in your system.
+#
+#HMAC_CRYPTO_ALGO SHA512
diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in
index fcb4e864..c0dc38b0 100644
--- a/etc/pam.d/Makefile.in
+++ b/etc/pam.d/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -95,8 +95,14 @@ host_triplet = @host@
@WITH_SU_TRUE@am__append_2 = su
subdir = etc/pam.d
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -181,7 +187,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -210,9 +215,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -250,7 +260,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -346,8 +355,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -392,10 +401,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/etc/useradd b/etc/useradd
deleted file mode 100644
index b77dd856..00000000
--- a/etc/useradd
+++ /dev/null
@@ -1,8 +0,0 @@
-# useradd defaults file
-GROUP=1000
-HOME=/home
-INACTIVE=-1
-EXPIRE=
-SHELL=/bin/bash
-SKEL=/etc/skel
-CREATE_MAIL_SPOOL=yes
diff --git a/install-sh b/install-sh
index 8175c640..59990a10 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2018-03-11.20; # UTC
+scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -271,18 +271,15 @@ do
fi
dst=$dst_arg
- # If destination is a directory, append the input filename.
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
- dstbase=`basename "$src"`
- case $dst in
- */) dst=$dst$dstbase;;
- *) dst=$dst/$dstbase;;
- esac
+ dst=$dstdir/`basename "$src"`
dstdir_status=0
else
dstdir=`dirname "$dst"`
@@ -291,11 +288,6 @@ do
fi
fi
- case $dstdir in
- */) dstdirslash=$dstdir;;
- *) dstdirslash=$dstdir/;;
- esac
-
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
@@ -332,16 +324,14 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
- # Note that $RANDOM variable is not portable (e.g. dash); Use it
- # here however when possible just to lower collision chance.
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
- # Because "mkdir -p" follows existing symlinks and we likely work
- # directly in world-writeable /tmp, make sure that the '$tmpdir'
- # directory is successfully created first before we actually test
- # 'mkdir -p' feature.
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
@@ -444,8 +434,8 @@ do
else
# Make a couple of temp file names in the proper directory.
- dsttmp=${dstdirslash}_inst.$$_
- rmtmp=${dstdirslash}_rm.$$_
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
@@ -510,9 +500,9 @@ do
done
# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
diff --git a/lib/Makefile.am b/lib/Makefile.am
index a40c08a1..ecf3ee25 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,7 +5,6 @@ DEFS =
noinst_LTLIBRARIES = libshadow.la
-libshadow_la_LDFLAGS = -version-info 0:0:0
libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS)
if HAVE_VENDORDIR
libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\"
@@ -32,6 +31,7 @@ libshadow_la_SOURCES = \
groupio.h \
gshadow.c \
lockpw.c \
+ nss.c \
nscd.c \
nscd.h \
sssd.c \
@@ -45,6 +45,8 @@ libshadow_la_SOURCES = \
pwio.c \
pwio.h \
pwmem.c \
+ run_part.h \
+ run_part.c \
subordinateio.h \
subordinateio.c \
selinux.c \
diff --git a/lib/Makefile.in b/lib/Makefile.in
index abce42b6..3e6486d5 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -92,8 +92,14 @@ host_triplet = @host@
@WITH_TCB_TRUE@am__append_2 = tcbfuncs.c tcbfuncs.h
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -106,12 +112,13 @@ libshadow_la_LIBADD =
am__libshadow_la_SOURCES_DIST = commonio.c commonio.h defines.h \
encrypt.c exitcodes.h faillog.h fields.c fputsx.c getdef.c \
getdef.h get_gid.c getlong.c get_pid.c get_uid.c getulong.c \
- groupio.c groupmem.c groupio.h gshadow.c lockpw.c nscd.c \
+ groupio.c groupmem.c groupio.h gshadow.c lockpw.c nss.c nscd.c \
nscd.h sssd.c sssd.h pam_defs.h port.c port.h prototypes.h \
- pwauth.c pwauth.h pwio.c pwio.h pwmem.c subordinateio.h \
- subordinateio.c selinux.c semanage.c sgetgrent.c sgetpwent.c \
- sgetspent.c sgroupio.c sgroupio.h shadow.c shadowio.c \
- shadowio.h shadowmem.c spawn.c utent.c tcbfuncs.c tcbfuncs.h
+ pwauth.c pwauth.h pwio.c pwio.h pwmem.c run_part.h run_part.c \
+ subordinateio.h subordinateio.c selinux.c semanage.c \
+ sgetgrent.c sgetpwent.c sgetspent.c sgroupio.c sgroupio.h \
+ shadow.c shadowio.c shadowio.h shadowmem.c spawn.c utent.c \
+ tcbfuncs.c tcbfuncs.h
@WITH_TCB_TRUE@am__objects_1 = libshadow_la-tcbfuncs.lo
am_libshadow_la_OBJECTS = libshadow_la-commonio.lo \
libshadow_la-encrypt.lo libshadow_la-fields.lo \
@@ -120,24 +127,21 @@ am_libshadow_la_OBJECTS = libshadow_la-commonio.lo \
libshadow_la-get_pid.lo libshadow_la-get_uid.lo \
libshadow_la-getulong.lo libshadow_la-groupio.lo \
libshadow_la-groupmem.lo libshadow_la-gshadow.lo \
- libshadow_la-lockpw.lo libshadow_la-nscd.lo \
- libshadow_la-sssd.lo libshadow_la-port.lo \
+ libshadow_la-lockpw.lo libshadow_la-nss.lo \
+ libshadow_la-nscd.lo libshadow_la-sssd.lo libshadow_la-port.lo \
libshadow_la-pwauth.lo libshadow_la-pwio.lo \
- libshadow_la-pwmem.lo libshadow_la-subordinateio.lo \
- libshadow_la-selinux.lo libshadow_la-semanage.lo \
- libshadow_la-sgetgrent.lo libshadow_la-sgetpwent.lo \
- libshadow_la-sgetspent.lo libshadow_la-sgroupio.lo \
- libshadow_la-shadow.lo libshadow_la-shadowio.lo \
- libshadow_la-shadowmem.lo libshadow_la-spawn.lo \
- libshadow_la-utent.lo $(am__objects_1)
+ libshadow_la-pwmem.lo libshadow_la-run_part.lo \
+ libshadow_la-subordinateio.lo libshadow_la-selinux.lo \
+ libshadow_la-semanage.lo libshadow_la-sgetgrent.lo \
+ libshadow_la-sgetpwent.lo libshadow_la-sgetspent.lo \
+ libshadow_la-sgroupio.lo libshadow_la-shadow.lo \
+ libshadow_la-shadowio.lo libshadow_la-shadowmem.lo \
+ libshadow_la-spawn.lo libshadow_la-utent.lo $(am__objects_1)
libshadow_la_OBJECTS = $(am_libshadow_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-libshadow_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libshadow_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -152,40 +156,7 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/libshadow_la-commonio.Plo \
- ./$(DEPDIR)/libshadow_la-encrypt.Plo \
- ./$(DEPDIR)/libshadow_la-fields.Plo \
- ./$(DEPDIR)/libshadow_la-fputsx.Plo \
- ./$(DEPDIR)/libshadow_la-get_gid.Plo \
- ./$(DEPDIR)/libshadow_la-get_pid.Plo \
- ./$(DEPDIR)/libshadow_la-get_uid.Plo \
- ./$(DEPDIR)/libshadow_la-getdef.Plo \
- ./$(DEPDIR)/libshadow_la-getlong.Plo \
- ./$(DEPDIR)/libshadow_la-getulong.Plo \
- ./$(DEPDIR)/libshadow_la-groupio.Plo \
- ./$(DEPDIR)/libshadow_la-groupmem.Plo \
- ./$(DEPDIR)/libshadow_la-gshadow.Plo \
- ./$(DEPDIR)/libshadow_la-lockpw.Plo \
- ./$(DEPDIR)/libshadow_la-nscd.Plo \
- ./$(DEPDIR)/libshadow_la-port.Plo \
- ./$(DEPDIR)/libshadow_la-pwauth.Plo \
- ./$(DEPDIR)/libshadow_la-pwio.Plo \
- ./$(DEPDIR)/libshadow_la-pwmem.Plo \
- ./$(DEPDIR)/libshadow_la-selinux.Plo \
- ./$(DEPDIR)/libshadow_la-semanage.Plo \
- ./$(DEPDIR)/libshadow_la-sgetgrent.Plo \
- ./$(DEPDIR)/libshadow_la-sgetpwent.Plo \
- ./$(DEPDIR)/libshadow_la-sgetspent.Plo \
- ./$(DEPDIR)/libshadow_la-sgroupio.Plo \
- ./$(DEPDIR)/libshadow_la-shadow.Plo \
- ./$(DEPDIR)/libshadow_la-shadowio.Plo \
- ./$(DEPDIR)/libshadow_la-shadowmem.Plo \
- ./$(DEPDIR)/libshadow_la-spawn.Plo \
- ./$(DEPDIR)/libshadow_la-sssd.Plo \
- ./$(DEPDIR)/libshadow_la-subordinateio.Plo \
- ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo \
- ./$(DEPDIR)/libshadow_la-utent.Plo
+am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -259,7 +230,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -288,9 +258,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -328,7 +303,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -390,17 +364,17 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.0 foreign
noinst_LTLIBRARIES = libshadow.la
-libshadow_la_LDFLAGS = -version-info 0:0:0
libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS) $(am__append_1)
libshadow_la_SOURCES = commonio.c commonio.h defines.h encrypt.c \
exitcodes.h faillog.h fields.c fputsx.c getdef.c getdef.h \
get_gid.c getlong.c get_pid.c get_uid.c getulong.c groupio.c \
- groupmem.c groupio.h gshadow.c lockpw.c nscd.c nscd.h sssd.c \
- sssd.h pam_defs.h port.c port.h prototypes.h pwauth.c pwauth.h \
- pwio.c pwio.h pwmem.c subordinateio.h subordinateio.c \
- selinux.c semanage.c sgetgrent.c sgetpwent.c sgetspent.c \
- sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \
- shadowmem.c spawn.c utent.c $(am__append_2)
+ groupmem.c groupio.h gshadow.c lockpw.c nss.c nscd.c nscd.h \
+ sssd.c sssd.h pam_defs.h port.c port.h prototypes.h pwauth.c \
+ pwauth.h pwio.c pwio.h pwmem.c run_part.h run_part.c \
+ subordinateio.h subordinateio.c selinux.c semanage.c \
+ sgetgrent.c sgetpwent.c sgetspent.c sgroupio.c sgroupio.h \
+ shadow.c shadowio.c shadowio.h shadowmem.c spawn.c utent.c \
+ $(am__append_2)
# These files are unneeded for some reason, listed in
# order of appearance:
@@ -431,8 +405,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -456,7 +430,7 @@ clean-noinstLTLIBRARIES:
}
libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) $(EXTRA_libshadow_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libshadow_la_LINK) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -464,45 +438,41 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-commonio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-encrypt.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fields.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fputsx.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_gid.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_pid.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_uid.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdef.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getlong.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getulong.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupmem.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-gshadow.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-lockpw.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nscd.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-port.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwauth.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwmem.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-selinux.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-semanage.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetgrent.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetpwent.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetspent.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgroupio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadow.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowmem.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-spawn.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sssd.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-subordinateio.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-tcbfuncs.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-utent.Plo@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-commonio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-encrypt.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fields.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fputsx.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_gid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_pid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-get_uid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getdef.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getlong.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getulong.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupmem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-gshadow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-lockpw.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nscd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nss.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-port.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwauth.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwmem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-run_part.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-selinux.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-semanage.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetgrent.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetpwent.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetspent.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgroupio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shadowmem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-spawn.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sssd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-subordinateio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-tcbfuncs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-utent.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -623,6 +593,13 @@ libshadow_la-lockpw.lo: lockpw.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-lockpw.lo `test -f 'lockpw.c' || echo '$(srcdir)/'`lockpw.c
+libshadow_la-nss.lo: nss.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-nss.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nss.Tpo -c -o libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-nss.Tpo $(DEPDIR)/libshadow_la-nss.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nss.c' object='libshadow_la-nss.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.c
+
libshadow_la-nscd.lo: nscd.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-nscd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nscd.Tpo -c -o libshadow_la-nscd.lo `test -f 'nscd.c' || echo '$(srcdir)/'`nscd.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-nscd.Tpo $(DEPDIR)/libshadow_la-nscd.Plo
@@ -665,6 +642,13 @@ libshadow_la-pwmem.lo: pwmem.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-pwmem.lo `test -f 'pwmem.c' || echo '$(srcdir)/'`pwmem.c
+libshadow_la-run_part.lo: run_part.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-run_part.lo -MD -MP -MF $(DEPDIR)/libshadow_la-run_part.Tpo -c -o libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-run_part.Tpo $(DEPDIR)/libshadow_la-run_part.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='run_part.c' object='libshadow_la-run_part.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.c
+
libshadow_la-subordinateio.lo: subordinateio.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libshadow_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-subordinateio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-subordinateio.Tpo -c -o libshadow_la-subordinateio.lo `test -f 'subordinateio.c' || echo '$(srcdir)/'`subordinateio.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-subordinateio.Tpo $(DEPDIR)/libshadow_la-subordinateio.Plo
@@ -814,10 +798,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -887,39 +868,7 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
- -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-encrypt.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-fields.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_uid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getlong.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getulong.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-groupio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-groupmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-gshadow.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-lockpw.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-port.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwauth.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-selinux.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-semanage.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetgrent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgroupio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadow.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-spawn.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sssd.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-subordinateio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-utent.Plo
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -965,39 +914,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-encrypt.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-fields.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-get_uid.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getdef.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getlong.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-getulong.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-groupio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-groupmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-gshadow.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-lockpw.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-port.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwauth.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-selinux.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-semanage.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetgrent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sgroupio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadow.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-spawn.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-sssd.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-subordinateio.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo
- -rm -f ./$(DEPDIR)/libshadow_la-utent.Plo
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1018,16 +935,16 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES \
- cscopelist-am ctags ctags-am distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
diff --git a/lib/commonio.c b/lib/commonio.c
index 16fa7e75..cef404b9 100644
--- a/lib/commonio.c
+++ b/lib/commonio.c
@@ -144,7 +144,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
fd = open (file, O_CREAT | O_TRUNC | O_WRONLY, 0600);
if (-1 == fd) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: %s: %s\n",
Prog, file, strerror (errno));
}
@@ -156,8 +156,18 @@ static int do_lock_file (const char *file, const char *lock, bool log)
len = (ssize_t) strlen (buf) + 1;
if (write (fd, buf, (size_t) len) != len) {
if (log) {
- (void) fprintf (stderr,
- "%s: %s: %s\n",
+ (void) fprintf (shadow_logfd,
+ "%s: %s file write error: %s\n",
+ Prog, file, strerror (errno));
+ }
+ (void) close (fd);
+ unlink (file);
+ return 0;
+ }
+ if (fdatasync (fd) == -1) {
+ if (log) {
+ (void) fprintf (shadow_logfd,
+ "%s: %s file sync error: %s\n",
Prog, file, strerror (errno));
}
(void) close (fd);
@@ -169,7 +179,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
if (link (file, lock) == 0) {
retval = check_link_count (file);
if ((0==retval) && log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: %s: lock file already used\n",
Prog, file);
}
@@ -180,7 +190,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
fd = open (lock, O_RDWR);
if (-1 == fd) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: %s: %s\n",
Prog, lock, strerror (errno));
}
@@ -192,7 +202,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
close (fd);
if (len <= 0) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: existing lock file %s without a PID\n",
Prog, lock);
}
@@ -203,7 +213,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
buf[len] = '\0';
if (get_pid (buf, &pid) == 0) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: existing lock file %s with an invalid PID '%s'\n",
Prog, lock, buf);
}
@@ -213,7 +223,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
}
if (kill (pid, 0) == 0) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: lock %s already used by PID %lu\n",
Prog, lock, (unsigned long) pid);
}
@@ -223,7 +233,7 @@ static int do_lock_file (const char *file, const char *lock, bool log)
}
if (unlink (lock) != 0) {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: cannot get lock %s: %s\n",
Prog, lock, strerror (errno));
}
@@ -235,13 +245,13 @@ static int do_lock_file (const char *file, const char *lock, bool log)
if (link (file, lock) == 0) {
retval = check_link_count (file);
if ((0==retval) && log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: %s: lock file already used\n",
Prog, file);
}
} else {
if (log) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: cannot get lock %s: %s\n",
Prog, lock, strerror (errno));
}
@@ -326,8 +336,12 @@ static int create_backup (const char *backup, FILE * fp)
/* FIXME: unlink the backup file? */
return -1;
}
- if ( (fsync (fileno (bkfp)) != 0)
- || (fclose (bkfp) != 0)) {
+ if (fsync (fileno (bkfp)) != 0) {
+ (void) fclose (bkfp);
+ /* FIXME: unlink the backup file? */
+ return -1;
+ }
+ if (fclose (bkfp) != 0) {
/* FIXME: unlink the backup file? */
return -1;
}
@@ -432,7 +446,7 @@ int commonio_lock (struct commonio_db *db)
if (0 == lock_count) {
if (lckpwdf () == -1) {
if (geteuid () != 0) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
"%s: Permission denied.\n",
Prog);
}
@@ -468,7 +482,7 @@ int commonio_lock (struct commonio_db *db)
}
/* no unnecessary retries on "permission denied" errors */
if (geteuid () != 0) {
- (void) fprintf (stderr, "%s: Permission denied.\n",
+ (void) fprintf (shadow_logfd, "%s: Permission denied.\n",
Prog);
return 0;
}
@@ -964,7 +978,7 @@ int commonio_close (struct commonio_db *db)
snprintf (buf, sizeof buf, "%s-", db->filename);
#ifdef WITH_SELINUX
- if (set_selinux_file_context (buf) != 0) {
+ if (set_selinux_file_context (db->filename, S_IFREG) != 0) {
errors++;
}
#endif
@@ -997,7 +1011,7 @@ int commonio_close (struct commonio_db *db)
snprintf (buf, sizeof buf, "%s+", db->filename);
#ifdef WITH_SELINUX
- if (set_selinux_file_context (buf) != 0) {
+ if (set_selinux_file_context (db->filename, S_IFREG) != 0) {
errors++;
}
#endif
@@ -1099,7 +1113,7 @@ int commonio_update (struct commonio_db *db, const void *eptr)
p = find_entry_by_name (db, db->ops->getname (eptr));
if (NULL != p) {
if (next_entry_by_name (db, p->next, db->ops->getname (eptr)) != NULL) {
- fprintf (stderr, _("Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"), db->ops->getname (eptr), db->filename);
+ fprintf (shadow_logfd, _("Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"), db->ops->getname (eptr), db->filename);
db->ops->free (nentry);
return 0;
}
@@ -1204,7 +1218,7 @@ int commonio_remove (struct commonio_db *db, const char *name)
return 0;
}
if (next_entry_by_name (db, p->next, name) != NULL) {
- fprintf (stderr, _("Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"), name, db->filename);
+ fprintf (shadow_logfd, _("Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"), name, db->filename);
return 0;
}
diff --git a/lib/commonio.h b/lib/commonio.h
index 64e83073..2bad47a5 100644
--- a/lib/commonio.h
+++ b/lib/commonio.h
@@ -34,10 +34,6 @@
#ifndef COMMONIO_H
#define COMMONIO_H
-#ifdef WITH_SELINUX
-#include <selinux/selinux.h>
-#endif
-
#include "defines.h" /* bool */
/*
@@ -121,7 +117,7 @@ struct commonio_db {
/*@dependent@*/ /*@null@*/FILE *fp;
#ifdef WITH_SELINUX
- /*@null@*/security_context_t scontext;
+ /*@null@*/char *scontext;
#endif
/*
* Default permissions and owner for newly created data file.
diff --git a/lib/defines.h b/lib/defines.h
index 2fb1b56e..e1500a76 100644
--- a/lib/defines.h
+++ b/lib/defines.h
@@ -4,6 +4,8 @@
#ifndef _DEFINES_H_
#define _DEFINES_H_
+#include "config.h"
+
#if HAVE_STDBOOL_H
# include <stdbool.h>
#else
@@ -94,6 +96,14 @@ char *strchr (), *strrchr (), *strtok ();
# include <unistd.h>
#endif
+/*
+ * crypt(3), crypt_gensalt(3), and their
+ * feature test macros may be defined in here.
+ */
+#if HAVE_CRYPT_H
+# include <crypt.h>
+#endif
+
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
diff --git a/lib/encrypt.c b/lib/encrypt.c
index 4247f241..66c52f2d 100644
--- a/lib/encrypt.c
+++ b/lib/encrypt.c
@@ -74,6 +74,9 @@
case '6':
method = "SHA512";
break;
+ case 'y':
+ method = "YESCRYPT";
+ break;
default:
{
static char nummethod[4] = "$x$";
@@ -81,7 +84,7 @@
method = &nummethod[0];
}
}
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("crypt method not supported by libcrypt? (%s)\n"),
method);
exit (EXIT_FAILURE);
diff --git a/lib/getdef.c b/lib/getdef.c
index 00f6abfe..80eb18c4 100644
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -61,6 +61,7 @@ struct itemdef {
{"ENV_TZ", NULL}, \
{"FAILLOG_ENAB", NULL}, \
{"FTMP_FILE", NULL}, \
+ {"HMAC_CRYPTO_ALGO", NULL}, \
{"ISSUE_FILE", NULL}, \
{"LASTLOG_ENAB", NULL}, \
{"LOGIN_STRING", NULL}, \
@@ -77,6 +78,16 @@ struct itemdef {
{"SU_WHEEL_ONLY", NULL}, \
{"ULIMIT", NULL},
+/*
+ * Items used in other tools (util-linux, etc.)
+ */
+#define FOREIGNDEFS \
+ {"ALWAYS_SET_PATH", NULL}, \
+ {"ENV_ROOTPATH", NULL}, \
+ {"LOGIN_KEEP_USERNAME", NULL}, \
+ {"LOGIN_PLAIN_PROMPT", NULL}, \
+ {"MOTD_FIRSTONLY", NULL}, \
+
#define NUMDEFS (sizeof(def_table)/sizeof(def_table[0]))
static struct itemdef def_table[] = {
@@ -105,6 +116,7 @@ static struct itemdef def_table[] = {
{"MAIL_FILE", NULL},
{"MAX_MEMBERS_PER_GROUP", NULL},
{"MD5_CRYPT_ENAB", NULL},
+ {"NONEXISTENT", NULL},
{"PASS_MAX_DAYS", NULL},
{"PASS_MIN_DAYS", NULL},
{"PASS_WARN_AGE", NULL},
@@ -116,6 +128,9 @@ static struct itemdef def_table[] = {
{"BCRYPT_MAX_ROUNDS", NULL},
{"BCRYPT_MIN_ROUNDS", NULL},
#endif
+#ifdef USE_YESCRYPT
+ {"YESCRYPT_COST_FACTOR", NULL},
+#endif
{"SUB_GID_COUNT", NULL},
{"SUB_GID_MAX", NULL},
{"SUB_GID_MIN", NULL},
@@ -149,6 +164,8 @@ static struct itemdef def_table[] = {
{"USE_TCB", NULL},
#endif
{"FORCE_SHADOW", NULL},
+ {"GRANT_AUX_GROUP_SUBIDS", NULL},
+ {"PREVENT_NO_AUTH", NULL},
{NULL, NULL}
};
@@ -157,6 +174,7 @@ static struct itemdef knowndef_table[] = {
#ifdef USE_PAM
PAMDEFS
#endif
+ FOREIGNDEFS
{NULL, NULL}
};
@@ -249,7 +267,7 @@ int getdef_num (const char *item, int dflt)
if ( (getlong (d->value, &val) == 0)
|| (val > INT_MAX)
|| (val < INT_MIN)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
return dflt;
@@ -284,7 +302,7 @@ unsigned int getdef_unum (const char *item, unsigned int dflt)
if ( (getlong (d->value, &val) == 0)
|| (val < 0)
|| (val > INT_MAX)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
return dflt;
@@ -317,7 +335,7 @@ long getdef_long (const char *item, long dflt)
}
if (getlong (d->value, &val) == 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
return dflt;
@@ -350,7 +368,7 @@ unsigned long getdef_ulong (const char *item, unsigned long dflt)
if (getulong (d->value, &val) == 0) {
/* FIXME: we should have a getulong */
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
return dflt;
@@ -388,7 +406,7 @@ int putdef_str (const char *name, const char *value)
cp = strdup (value);
if (NULL == cp) {
(void) fputs (_("Could not allocate space for config info.\n"),
- stderr);
+ shadow_logfd);
SYSLOG ((LOG_ERR, "could not allocate space for config info"));
return -1;
}
@@ -413,7 +431,6 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name)
{
struct itemdef *ptr;
-
/*
* Search into the table.
*/
@@ -433,7 +450,7 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name)
goto out;
}
}
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("configuration error - unknown item '%s' (notify administrator)\n"),
name);
SYSLOG ((LOG_CRIT, "unknown configuration item `%s'", name));
diff --git a/lib/groupmem.c b/lib/groupmem.c
index 1fd1c135..2060d03b 100644
--- a/lib/groupmem.c
+++ b/lib/groupmem.c
@@ -87,20 +87,55 @@
return gr;
}
-void gr_free (/*@out@*/ /*@only@*/struct group *grent)
+void gr_free_members (struct group *grent)
{
- free (grent->gr_name);
- if (NULL != grent->gr_passwd) {
- memzero (grent->gr_passwd, strlen (grent->gr_passwd));
- free (grent->gr_passwd);
- }
if (NULL != grent->gr_mem) {
size_t i;
for (i = 0; NULL != grent->gr_mem[i]; i++) {
free (grent->gr_mem[i]);
}
free (grent->gr_mem);
+ grent->gr_mem = NULL;
}
+}
+
+void gr_free (/*@out@*/ /*@only@*/struct group *grent)
+{
+ free (grent->gr_name);
+ if (NULL != grent->gr_passwd) {
+ memzero (grent->gr_passwd, strlen (grent->gr_passwd));
+ free (grent->gr_passwd);
+ }
+ gr_free_members(grent);
free (grent);
}
+bool gr_append_member(struct group *grp, char *member)
+{
+ int i;
+
+ if (NULL == grp->gr_mem || grp->gr_mem[0] == NULL) {
+ grp->gr_mem = (char **)malloc(2 * sizeof(char *));
+ if (!grp->gr_mem) {
+ return false;
+ }
+ grp->gr_mem[0] = strdup(member);
+ if (!grp->gr_mem[0]) {
+ return false;
+ }
+ grp->gr_mem[1] = NULL;
+ return true;
+ }
+
+ for (i = 0; grp->gr_mem[i]; i++) ;
+ grp->gr_mem = realloc(grp->gr_mem, (i + 2) * sizeof(char *));
+ if (NULL == grp->gr_mem) {
+ return false;
+ }
+ grp->gr_mem[i] = strdup(member);
+ if (NULL == grp->gr_mem[i]) {
+ return false;
+ }
+ grp->gr_mem[i + 1] = NULL;
+ return true;
+}
diff --git a/lib/nscd.c b/lib/nscd.c
index 7adb58ff..397212e2 100644
--- a/lib/nscd.c
+++ b/lib/nscd.c
@@ -25,13 +25,13 @@ int nscd_flush_cache (const char *service)
if (run_command (cmd, spawnedArgs, spawnedEnv, &status) != 0) {
/* run_command writes its own more detailed message. */
- (void) fprintf (stderr, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog);
+ (void) fprintf (shadow_logfd, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog);
return -1;
}
code = WEXITSTATUS (status);
if (!WIFEXITED (status)) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: nscd did not terminate normally (signal %d)\n"),
Prog, WTERMSIG (status));
return -1;
@@ -43,9 +43,9 @@ int nscd_flush_cache (const char *service)
/* nscd is installed, but it isn't active. */
return 0;
} else if (code != 0) {
- (void) fprintf (stderr, _("%s: nscd exited with status %d\n"),
+ (void) fprintf (shadow_logfd, _("%s: nscd exited with status %d\n"),
Prog, code);
- (void) fprintf (stderr, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog);
+ (void) fprintf (shadow_logfd, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog);
return -1;
}
diff --git a/lib/nss.c b/lib/nss.c
new file mode 100644
index 00000000..7c082758
--- /dev/null
+++ b/lib/nss.c
@@ -0,0 +1,149 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <stdbool.h>
+#include <string.h>
+#include <strings.h>
+#include <ctype.h>
+#include <stdatomic.h>
+#include "prototypes.h"
+#include "../libsubid/subid.h"
+
+#define NSSWITCH "/etc/nsswitch.conf"
+
+// NSS plugin handling for subids
+// If nsswitch has a line like
+// subid: sssd
+// then sssd will be consulted for subids. Unlike normal NSS dbs,
+// only one db is supported at a time. That's open to debate, but
+// the subids are a pretty limited resource, and local files seem
+// bound to step on any other allocations leading to insecure
+// conditions.
+static atomic_flag nss_init_started;
+static atomic_bool nss_init_completed;
+
+static struct subid_nss_ops *subid_nss;
+
+bool nss_is_initialized() {
+ return atomic_load(&nss_init_completed);
+}
+
+void nss_exit() {
+ if (nss_is_initialized() && subid_nss) {
+ dlclose(subid_nss->handle);
+ free(subid_nss);
+ subid_nss = NULL;
+ }
+}
+
+// nsswitch_path is an argument only to support testing.
+void nss_init(char *nsswitch_path) {
+ FILE *nssfp = NULL;
+ char *line = NULL, *p, *token, *saveptr;
+ size_t len = 0;
+
+ if (atomic_flag_test_and_set(&nss_init_started)) {
+ // Another thread has started nss_init, wait for it to complete
+ while (!atomic_load(&nss_init_completed))
+ usleep(100);
+ return;
+ }
+
+ if (!nsswitch_path)
+ nsswitch_path = NSSWITCH;
+
+ // read nsswitch.conf to check for a line like:
+ // subid: files
+ nssfp = fopen(nsswitch_path, "r");
+ if (!nssfp) {
+ fprintf(shadow_logfd, "Failed opening %s: %m", nsswitch_path);
+ atomic_store(&nss_init_completed, true);
+ return;
+ }
+ while ((getline(&line, &len, nssfp)) != -1) {
+ if (line[0] == '\0' || line[0] == '#')
+ continue;
+ if (strlen(line) < 8)
+ continue;
+ if (strncasecmp(line, "subid:", 6) != 0)
+ continue;
+ p = &line[6];
+ while ((*p) && isspace(*p))
+ p++;
+ if (!*p)
+ continue;
+ for (token = strtok_r(p, " \n\t", &saveptr);
+ token;
+ token = strtok_r(NULL, " \n\t", &saveptr)) {
+ char libname[65];
+ void *h;
+ if (strcmp(token, "files") == 0) {
+ subid_nss = NULL;
+ goto done;
+ }
+ if (strlen(token) > 50) {
+ fprintf(shadow_logfd, "Subid NSS module name too long (longer than 50 characters): %s\n", token);
+ fprintf(shadow_logfd, "Using files\n");
+ subid_nss = NULL;
+ goto done;
+ }
+ snprintf(libname, 64, "libsubid_%s.so", token);
+ h = dlopen(libname, RTLD_LAZY);
+ if (!h) {
+ fprintf(shadow_logfd, "Error opening %s: %s\n", libname, dlerror());
+ fprintf(shadow_logfd, "Using files\n");
+ subid_nss = NULL;
+ goto done;
+ }
+ subid_nss = malloc(sizeof(*subid_nss));
+ if (!subid_nss) {
+ dlclose(h);
+ goto done;
+ }
+ subid_nss->has_range = dlsym(h, "shadow_subid_has_range");
+ if (!subid_nss->has_range) {
+ fprintf(shadow_logfd, "%s did not provide @has_range@\n", libname);
+ dlclose(h);
+ free(subid_nss);
+ subid_nss = NULL;
+ goto done;
+ }
+ subid_nss->list_owner_ranges = dlsym(h, "shadow_subid_list_owner_ranges");
+ if (!subid_nss->list_owner_ranges) {
+ fprintf(shadow_logfd, "%s did not provide @list_owner_ranges@\n", libname);
+ dlclose(h);
+ free(subid_nss);
+ subid_nss = NULL;
+ goto done;
+ }
+ subid_nss->find_subid_owners = dlsym(h, "shadow_subid_find_subid_owners");
+ if (!subid_nss->find_subid_owners) {
+ fprintf(shadow_logfd, "%s did not provide @find_subid_owners@\n", libname);
+ dlclose(h);
+ free(subid_nss);
+ subid_nss = NULL;
+ goto done;
+ }
+ subid_nss->handle = h;
+ goto done;
+ }
+ fprintf(shadow_logfd, "No usable subid NSS module found, using files\n");
+ // subid_nss has to be null here, but to ease reviews:
+ free(subid_nss);
+ subid_nss = NULL;
+ goto done;
+ }
+
+done:
+ atomic_store(&nss_init_completed, true);
+ free(line);
+ if (nssfp) {
+ atexit(nss_exit);
+ fclose(nssfp);
+ }
+}
+
+struct subid_nss_ops *get_subid_nss_handle() {
+ nss_init(NULL);
+ return subid_nss;
+}
diff --git a/lib/prototypes.h b/lib/prototypes.h
index 22603b98..1d1586d4 100644
--- a/lib/prototypes.h
+++ b/lib/prototypes.h
@@ -59,7 +59,8 @@
#include "defines.h"
#include "commonio.h"
-extern /*@observer@*/ const char *Prog;
+extern /*@observer@*/ const char *Prog; /* Program name showed in error messages */
+extern FILE *shadow_logfd; /* file descripter to which error messages are printed */
/* addgrps.c */
#if defined (HAVE_SETGROUPS) && ! defined (USE_PAM)
@@ -161,12 +162,10 @@ extern int find_new_uid (bool sys_user,
#ifdef ENABLE_SUBIDS
/* find_new_sub_gids.c */
-extern int find_new_sub_gids (const char *owner,
- gid_t *range_start, unsigned long *range_count);
+extern int find_new_sub_gids (gid_t *range_start, unsigned long *range_count);
/* find_new_sub_uids.c */
-extern int find_new_sub_uids (const char *owner,
- uid_t *range_start, unsigned long *range_count);
+extern int find_new_sub_uids (uid_t *range_start, unsigned long *range_count);
#endif /* ENABLE_SUBIDS */
@@ -208,7 +207,9 @@ extern void __gr_set_changed (void);
/* groupmem.c */
extern /*@null@*/ /*@only@*/struct group *__gr_dup (const struct group *grent);
+extern void gr_free_members (struct group *grent);
extern void gr_free (/*@out@*/ /*@only@*/struct group *grent);
+extern bool gr_append_member (struct group *grp, char *member);
/* hushed.c */
extern bool hushed (const char *username);
@@ -262,6 +263,62 @@ extern void motd (void);
/* myname.c */
extern /*@null@*//*@only@*/struct passwd *get_my_pwent (void);
+/* nss.c */
+#include <libsubid/subid.h>
+extern void nss_init(char *nsswitch_path);
+extern bool nss_is_initialized();
+
+struct subid_nss_ops {
+ /*
+ * nss_has_range: does a user own a given subid range
+ *
+ * @owner: username
+ * @start: first subid in queried range
+ * @count: number of subids in queried range
+ * @idtype: subuid or subgid
+ * @result: true if @owner has been allocated the subid range.
+ *
+ * returns success if the module was able to determine an answer (true or false),
+ * else an error status.
+ */
+ enum subid_status (*has_range)(const char *owner, unsigned long start, unsigned long count, enum subid_type idtype, bool *result);
+
+ /*
+ * nss_list_owner_ranges: list the subid ranges delegated to a user.
+ *
+ * @owner - string representing username being queried
+ * @id_type - subuid or subgid
+ * @ranges - pointer to an array of struct subid_range, or NULL. The
+ * returned array must be freed by the caller.
+ * @count - pointer to an integer into which the number of returned ranges
+ * is written.
+
+ * returns success if the module was able to determine an answer,
+ * else an error status.
+ */
+ enum subid_status (*list_owner_ranges)(const char *owner, enum subid_type id_type, struct subid_range **ranges, int *count);
+
+ /*
+ * nss_find_subid_owners: find uids who own a given subuid or subgid.
+ *
+ * @id - the delegated id (subuid or subgid) being queried
+ * @id_type - subuid or subgid
+ * @uids - pointer to an array of uids which will be allocated by
+ * nss_find_subid_owners()
+ * @count - number of uids found
+ *
+ * returns success if the module was able to determine an answer,
+ * else an error status.
+ */
+ enum subid_status (*find_subid_owners)(unsigned long id, enum subid_type id_type, uid_t **uids, int *count);
+
+ /* The dlsym handle to close */
+ void *handle;
+};
+
+extern struct subid_nss_ops *get_subid_nss_handle();
+
+
/* pam_pass_non_interactive.c */
#ifdef USE_PAM
extern int do_pam_passwd_non_interactive (const char *pam_service,
@@ -334,7 +391,7 @@ extern /*@observer@*/const char *crypt_make_salt (/*@null@*//*@observer@*/const
/* selinux.c */
#ifdef WITH_SELINUX
-extern int set_selinux_file_context (const char *dst_name);
+extern int set_selinux_file_context (const char *dst_name, mode_t mode);
extern int reset_selinux_file_context (void);
extern int check_selinux_permit (const char *perm_name);
#endif
@@ -448,6 +505,7 @@ extern bool valid (const char *, const struct passwd *);
extern /*@maynotreturn@*/ /*@only@*//*@out@*//*@notnull@*/char *xmalloc (size_t size)
/*@ensures MaxSet(result) == (size - 1); @*/;
extern /*@maynotreturn@*/ /*@only@*//*@notnull@*/char *xstrdup (const char *);
+extern void xfree(void *ap);
/* xgetpwnam.c */
extern /*@null@*/ /*@only@*/struct passwd *xgetpwnam (const char *);
diff --git a/lib/run_part.c b/lib/run_part.c
new file mode 100644
index 00000000..03d1d675
--- /dev/null
+++ b/lib/run_part.c
@@ -0,0 +1,102 @@
+#include <dirent.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <lib/prototypes.h>
+
+int run_part (char *script_path, char *name, char *action)
+{
+ int pid;
+ int wait_status;
+ int pid_status;
+ char *args[] = { script_path, NULL };
+
+ pid=fork();
+ if (pid==-1){
+ perror ("Could not fork");
+ return 1;
+ }
+ if (pid==0) {
+ setenv ("ACTION",action,1);
+ setenv ("SUBJECT",name,1);
+ execv (script_path,args);
+ perror ("execv");
+ exit(1);
+ }
+
+ pid_status = wait (&wait_status);
+ if (pid_status == pid) {
+ return (wait_status);
+ }
+
+ perror ("waitpid");
+ return (1);
+}
+
+int run_parts (char *directory, char *name, char *action)
+{
+ struct dirent **namelist;
+ int scanlist;
+ int n;
+ int execute_result;
+
+ scanlist = scandir (directory, &namelist, 0, alphasort);
+ if (scanlist<0) {
+ return (0);
+ }
+
+ for (n=0; n<scanlist; n++) {
+ int path_length;
+ struct stat sb;
+
+ path_length=strlen(directory) + strlen(namelist[n]->d_name) + 2;
+ char *s = (char*)malloc(path_length);
+ if (!s) {
+ printf ("could not allocate memory\n");
+ for (; n<scanlist; n++) {
+ free (namelist[n]);
+ }
+ free (namelist);
+ return (1);
+ }
+ snprintf (s, path_length, "%s/%s", directory, namelist[n]->d_name);
+
+ execute_result = 0;
+ if (stat (s, &sb) == -1) {
+ perror ("stat");
+ free (s);
+ for (; n<scanlist; n++) {
+ free (namelist[n]);
+ }
+ free (namelist);
+ return (1);
+ }
+
+ if (S_ISREG (sb.st_mode) || S_ISLNK (sb.st_mode)) {
+ execute_result = run_part (s, name, action);
+ }
+
+ free (s);
+
+ if (execute_result!=0) {
+ fprintf (shadow_logfd,
+ "%s: did not exit cleanly.\n",
+ namelist[n]->d_name);
+ for (; n<scanlist; n++) {
+ free (namelist[n]);
+ }
+ break;
+ }
+
+ free (namelist[n]);
+ }
+ free (namelist);
+
+ return (execute_result);
+}
+
diff --git a/lib/run_part.h b/lib/run_part.h
new file mode 100644
index 00000000..d3d80663
--- /dev/null
+++ b/lib/run_part.h
@@ -0,0 +1,2 @@
+int run_part (char *script_path, char *name, char *action);
+int run_parts (char *directory, char *name, char *action);
diff --git a/lib/selinux.c b/lib/selinux.c
index 8cc444f0..c83545f9 100644
--- a/lib/selinux.c
+++ b/lib/selinux.c
@@ -35,11 +35,20 @@
#include "defines.h"
#include <selinux/selinux.h>
-#include <selinux/context.h>
+#include <selinux/label.h>
#include "prototypes.h"
static bool selinux_checked = false;
static bool selinux_enabled;
+static /*@null@*/struct selabel_handle *selabel_hnd = NULL;
+
+static void cleanup(void)
+{
+ if (selabel_hnd) {
+ selabel_close(selabel_hnd);
+ selabel_hnd = NULL;
+ }
+}
/*
* set_selinux_file_context - Set the security context before any file or
@@ -51,10 +60,8 @@ static bool selinux_enabled;
* Callers may have to Reset SELinux to create files with default
* contexts with reset_selinux_file_context
*/
-int set_selinux_file_context (const char *dst_name)
+int set_selinux_file_context (const char *dst_name, mode_t mode)
{
- /*@null@*/security_context_t scontext = NULL;
-
if (!selinux_checked) {
selinux_enabled = is_selinux_enabled () > 0;
selinux_checked = true;
@@ -62,18 +69,34 @@ int set_selinux_file_context (const char *dst_name)
if (selinux_enabled) {
/* Get the default security context for this file */
- if (matchpathcon (dst_name, 0, &scontext) < 0) {
- if (security_getenforce () != 0) {
- return 1;
+
+ /*@null@*/char *fcontext_raw = NULL;
+ int r;
+
+ if (selabel_hnd == NULL) {
+ selabel_hnd = selabel_open(SELABEL_CTX_FILE, NULL, 0);
+ if (selabel_hnd == NULL) {
+ return security_getenforce () != 0;
}
+ (void) atexit(cleanup);
}
- /* Set the security context for the next created file */
- if (setfscreatecon (scontext) < 0) {
- if (security_getenforce () != 0) {
- return 1;
+
+ r = selabel_lookup_raw(selabel_hnd, &fcontext_raw, dst_name, mode);
+ if (r < 0) {
+ /* No context specified for the searched path */
+ if (errno == ENOENT) {
+ return 0;
}
+
+ return security_getenforce () != 0;
+ }
+
+ /* Set the security context for the next created file */
+ r = setfscreatecon_raw (fcontext_raw);
+ freecon (fcontext_raw);
+ if (r < 0) {
+ return security_getenforce () != 0;
}
- freecon (scontext);
}
return 0;
}
@@ -92,8 +115,8 @@ int reset_selinux_file_context (void)
selinux_checked = true;
}
if (selinux_enabled) {
- if (setfscreatecon (NULL) != 0) {
- return 1;
+ if (setfscreatecon_raw (NULL) != 0) {
+ return security_getenforce () != 0;
}
}
return 0;
@@ -131,7 +154,7 @@ static int selinux_log_cb (int type, const char *fmt, ...) {
&& (errno != EAFNOSUPPORT)) {
(void) fputs (_("Cannot open audit interface.\n"),
- stderr);
+ shadow_logfd);
SYSLOG ((LOG_WARN, "Cannot open audit interface."));
}
}
@@ -174,7 +197,7 @@ skip_syslog:
*/
int check_selinux_permit (const char *perm_name)
{
- char *user_context_str;
+ char *user_context_raw;
int r;
if (0 == is_selinux_enabled ()) {
@@ -183,8 +206,8 @@ int check_selinux_permit (const char *perm_name)
selinux_set_callback (SELINUX_CB_LOG, (union selinux_callback) selinux_log_cb);
- if (getprevcon (&user_context_str) != 0) {
- fprintf (stderr,
+ if (getprevcon_raw (&user_context_raw) != 0) {
+ fprintf (shadow_logfd,
_("%s: can not get previous SELinux process context: %s\n"),
Prog, strerror (errno));
SYSLOG ((LOG_WARN,
@@ -193,8 +216,8 @@ int check_selinux_permit (const char *perm_name)
return (security_getenforce () != 0);
}
- r = selinux_check_access (user_context_str, user_context_str, "passwd", perm_name, NULL);
- freecon (user_context_str);
+ r = selinux_check_access (user_context_raw, user_context_raw, "passwd", perm_name, NULL);
+ freecon (user_context_raw);
return r;
}
diff --git a/lib/semanage.c b/lib/semanage.c
index e983f5f7..766ad6d0 100644
--- a/lib/semanage.c
+++ b/lib/semanage.c
@@ -69,7 +69,7 @@ static void semanage_error_callback (unused void *varg,
switch (semanage_msg_get_level (handle)) {
case SEMANAGE_MSG_ERR:
case SEMANAGE_MSG_WARN:
- fprintf (stderr, _("[libsemanage]: %s\n"), message);
+ fprintf (shadow_logfd, _("[libsemanage]: %s\n"), message);
break;
case SEMANAGE_MSG_INFO:
/* nop */
@@ -87,7 +87,7 @@ static semanage_handle_t *semanage_init (void)
handle = semanage_handle_create ();
if (NULL == handle) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Cannot create SELinux management handle\n"));
return NULL;
}
@@ -96,26 +96,26 @@ static semanage_handle_t *semanage_init (void)
ret = semanage_is_managed (handle);
if (ret != 1) {
- fprintf (stderr, _("SELinux policy not managed\n"));
+ fprintf (shadow_logfd, _("SELinux policy not managed\n"));
goto fail;
}
ret = semanage_access_check (handle);
if (ret < SEMANAGE_CAN_READ) {
- fprintf (stderr, _("Cannot read SELinux policy store\n"));
+ fprintf (shadow_logfd, _("Cannot read SELinux policy store\n"));
goto fail;
}
ret = semanage_connect (handle);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Cannot establish SELinux management connection\n"));
goto fail;
}
ret = semanage_begin_transaction (handle);
if (ret != 0) {
- fprintf (stderr, _("Cannot begin SELinux transaction\n"));
+ fprintf (shadow_logfd, _("Cannot begin SELinux transaction\n"));
goto fail;
}
@@ -137,7 +137,7 @@ static int semanage_user_mod (semanage_handle_t *handle,
semanage_seuser_query (handle, key, &seuser);
if (NULL == seuser) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not query seuser for %s\n"), login_name);
ret = 1;
goto done;
@@ -145,7 +145,7 @@ static int semanage_user_mod (semanage_handle_t *handle,
ret = semanage_seuser_set_mlsrange (handle, seuser, DEFAULT_SERANGE);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not set serange for %s\n"), login_name);
ret = 1;
goto done;
@@ -153,7 +153,7 @@ static int semanage_user_mod (semanage_handle_t *handle,
ret = semanage_seuser_set_sename (handle, seuser, seuser_name);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not set sename for %s\n"),
login_name);
ret = 1;
@@ -162,7 +162,7 @@ static int semanage_user_mod (semanage_handle_t *handle,
ret = semanage_seuser_modify_local (handle, key, seuser);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not modify login mapping for %s\n"),
login_name);
ret = 1;
@@ -186,7 +186,7 @@ static int semanage_user_add (semanage_handle_t *handle,
ret = semanage_seuser_create (handle, &seuser);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Cannot create SELinux login mapping for %s\n"),
login_name);
ret = 1;
@@ -195,14 +195,14 @@ static int semanage_user_add (semanage_handle_t *handle,
ret = semanage_seuser_set_name (handle, seuser, login_name);
if (ret != 0) {
- fprintf (stderr, _("Could not set name for %s\n"), login_name);
+ fprintf (shadow_logfd, _("Could not set name for %s\n"), login_name);
ret = 1;
goto done;
}
ret = semanage_seuser_set_mlsrange (handle, seuser, DEFAULT_SERANGE);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not set serange for %s\n"),
login_name);
ret = 1;
@@ -211,7 +211,7 @@ static int semanage_user_add (semanage_handle_t *handle,
ret = semanage_seuser_set_sename (handle, seuser, seuser_name);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not set SELinux user for %s\n"),
login_name);
ret = 1;
@@ -220,7 +220,7 @@ static int semanage_user_add (semanage_handle_t *handle,
ret = semanage_seuser_modify_local (handle, key, seuser);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not add login mapping for %s\n"),
login_name);
ret = 1;
@@ -248,21 +248,21 @@ int set_seuser (const char *login_name, const char *seuser_name)
handle = semanage_init ();
if (NULL == handle) {
- fprintf (stderr, _("Cannot init SELinux management\n"));
+ fprintf (shadow_logfd, _("Cannot init SELinux management\n"));
ret = 1;
goto done;
}
ret = semanage_seuser_key_create (handle, login_name, &key);
if (ret != 0) {
- fprintf (stderr, _("Cannot create SELinux user key\n"));
+ fprintf (shadow_logfd, _("Cannot create SELinux user key\n"));
ret = 1;
goto done;
}
ret = semanage_seuser_exists (handle, key, &seuser_exists);
if (ret < 0) {
- fprintf (stderr, _("Cannot verify the SELinux user\n"));
+ fprintf (shadow_logfd, _("Cannot verify the SELinux user\n"));
ret = 1;
goto done;
}
@@ -270,7 +270,7 @@ int set_seuser (const char *login_name, const char *seuser_name)
if (0 != seuser_exists) {
ret = semanage_user_mod (handle, key, login_name, seuser_name);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Cannot modify SELinux user mapping\n"));
ret = 1;
goto done;
@@ -278,7 +278,7 @@ int set_seuser (const char *login_name, const char *seuser_name)
} else {
ret = semanage_user_add (handle, key, login_name, seuser_name);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Cannot add SELinux user mapping\n"));
ret = 1;
goto done;
@@ -287,7 +287,7 @@ int set_seuser (const char *login_name, const char *seuser_name)
ret = semanage_commit (handle);
if (ret < 0) {
- fprintf (stderr, _("Cannot commit SELinux transaction\n"));
+ fprintf (shadow_logfd, _("Cannot commit SELinux transaction\n"));
ret = 1;
goto done;
}
@@ -310,27 +310,27 @@ int del_seuser (const char *login_name)
handle = semanage_init ();
if (NULL == handle) {
- fprintf (stderr, _("Cannot init SELinux management\n"));
+ fprintf (shadow_logfd, _("Cannot init SELinux management\n"));
ret = 1;
goto done;
}
ret = semanage_seuser_key_create (handle, login_name, &key);
if (ret != 0) {
- fprintf (stderr, _("Cannot create SELinux user key\n"));
+ fprintf (shadow_logfd, _("Cannot create SELinux user key\n"));
ret = 1;
goto done;
}
ret = semanage_seuser_exists (handle, key, &exists);
if (ret < 0) {
- fprintf (stderr, _("Cannot verify the SELinux user\n"));
+ fprintf (shadow_logfd, _("Cannot verify the SELinux user\n"));
ret = 1;
goto done;
}
if (0 == exists) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Login mapping for %s is not defined, OK if default mapping was used\n"),
login_name);
ret = 0; /* probably default mapping */
@@ -339,13 +339,13 @@ int del_seuser (const char *login_name)
ret = semanage_seuser_exists_local (handle, key, &exists);
if (ret < 0) {
- fprintf (stderr, _("Cannot verify the SELinux user\n"));
+ fprintf (shadow_logfd, _("Cannot verify the SELinux user\n"));
ret = 1;
goto done;
}
if (0 == exists) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Login mapping for %s is defined in policy, cannot be deleted\n"),
login_name);
ret = 0; /* Login mapping defined in policy can't be deleted */
@@ -354,7 +354,7 @@ int del_seuser (const char *login_name)
ret = semanage_seuser_del_local (handle, key);
if (ret != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Could not delete login mapping for %s"),
login_name);
ret = 1;
@@ -363,7 +363,7 @@ int del_seuser (const char *login_name)
ret = semanage_commit (handle);
if (ret < 0) {
- fprintf (stderr, _("Cannot commit SELinux transaction\n"));
+ fprintf (shadow_logfd, _("Cannot commit SELinux transaction\n"));
ret = 1;
goto done;
}
diff --git a/lib/sgetspent.c b/lib/sgetspent.c
index 20531eba..8251a561 100644
--- a/lib/sgetspent.c
+++ b/lib/sgetspent.c
@@ -52,7 +52,6 @@ struct spwd *sgetspent (const char *string)
static struct spwd spwd;
char *fields[FIELDS];
char *cp;
- char *cpp;
int i;
/*
diff --git a/lib/shadow.c b/lib/shadow.c
index 05cb0e4a..e743b2ce 100644
--- a/lib/shadow.c
+++ b/lib/shadow.c
@@ -130,7 +130,6 @@ static struct spwd *my_sgetspent (const char *string)
static struct spwd spwd;
char *fields[FIELDS];
char *cp;
- char *cpp;
int i;
/*
@@ -389,7 +388,6 @@ struct spwd *getspent (void)
#ifdef USE_NIS
int nis_1_user = 0;
struct spwd *val;
- char buf[BUFSIZ];
#endif
if (NULL == shadow) {
setspent ();
@@ -484,7 +482,6 @@ struct spwd *getspnam (const char *name)
struct spwd *sp;
#ifdef USE_NIS
- char buf[BUFSIZ];
static char save_name[16];
bool nis_disabled = false;
#endif
diff --git a/lib/spawn.c b/lib/spawn.c
index d0b5fb26..c53742cc 100644
--- a/lib/spawn.c
+++ b/lib/spawn.c
@@ -48,7 +48,7 @@ int run_command (const char *cmd, const char *argv[],
}
(void) fflush (stdout);
- (void) fflush (stderr);
+ (void) fflush (shadow_logfd);
pid = fork ();
if (0 == pid) {
@@ -57,11 +57,11 @@ int run_command (const char *cmd, const char *argv[],
if (ENOENT == errno) {
exit (E_CMD_NOTFOUND);
}
- fprintf (stderr, "%s: cannot execute %s: %s\n",
+ fprintf (shadow_logfd, "%s: cannot execute %s: %s\n",
Prog, cmd, strerror (errno));
exit (E_CMD_NOEXEC);
} else if ((pid_t)-1 == pid) {
- fprintf (stderr, "%s: cannot execute %s: %s\n",
+ fprintf (shadow_logfd, "%s: cannot execute %s: %s\n",
Prog, cmd, strerror (errno));
return -1;
}
@@ -74,7 +74,7 @@ int run_command (const char *cmd, const char *argv[],
|| ((pid_t)-1 != wpid && wpid != pid));
if ((pid_t)-1 == wpid) {
- fprintf (stderr, "%s: waitpid (status: %d): %s\n",
+ fprintf (shadow_logfd, "%s: waitpid (status: %d): %s\n",
Prog, *status, strerror (errno));
return -1;
}
diff --git a/lib/sssd.c b/lib/sssd.c
index 80e49e55..f864ce68 100644
--- a/lib/sssd.c
+++ b/lib/sssd.c
@@ -11,7 +11,7 @@
#include "prototypes.h"
#include "sssd.h"
-#define MSG_SSSD_FLUSH_CACHE_FAILED "%s: Failed to flush the sssd cache.\n"
+#define MSG_SSSD_FLUSH_CACHE_FAILED "%s: Failed to flush the sssd cache."
int sssd_flush_cache (int dbflags)
{
@@ -46,24 +46,22 @@ int sssd_flush_cache (int dbflags)
free(sss_cache_args);
if (rv != 0) {
/* run_command writes its own more detailed message. */
- (void) fprintf (stderr, _(MSG_SSSD_FLUSH_CACHE_FAILED), Prog);
+ SYSLOG ((LOG_WARN, MSG_SSSD_FLUSH_CACHE_FAILED, Prog));
return -1;
}
code = WEXITSTATUS (status);
if (!WIFEXITED (status)) {
- (void) fprintf (stderr,
- _("%s: sss_cache did not terminate normally (signal %d)\n"),
- Prog, WTERMSIG (status));
+ SYSLOG ((LOG_WARN, "%s: sss_cache did not terminate normally (signal %d)",
+ Prog, WTERMSIG (status)));
return -1;
} else if (code == E_CMD_NOTFOUND) {
/* sss_cache is not installed, or it is installed but uses an
interpreter that is missing. Probably the former. */
return 0;
} else if (code != 0) {
- (void) fprintf (stderr, _("%s: sss_cache exited with status %d\n"),
- Prog, code);
- (void) fprintf (stderr, _(MSG_SSSD_FLUSH_CACHE_FAILED), Prog);
+ SYSLOG ((LOG_WARN, "%s: sss_cache exited with status %d", Prog, code));
+ SYSLOG ((LOG_WARN, MSG_SSSD_FLUSH_CACHE_FAILED, Prog));
return -1;
}
diff --git a/lib/subordinateio.c b/lib/subordinateio.c
index 0d89a64e..fbff3eae 100644
--- a/lib/subordinateio.c
+++ b/lib/subordinateio.c
@@ -11,16 +11,11 @@
#include <stdio.h>
#include "commonio.h"
#include "subordinateio.h"
+#include "../libsubid/subid.h"
#include <sys/types.h>
#include <pwd.h>
-
-struct subordinate_range {
- const char *owner;
- unsigned long start;
- unsigned long count;
-};
-
-#define NFIELDS 3
+#include <ctype.h>
+#include <fcntl.h>
/*
* subordinate_dup: create a duplicate range
@@ -78,7 +73,7 @@ static void *subordinate_parse (const char *line)
static char rangebuf[1024];
int i;
char *cp;
- char *fields[NFIELDS];
+ char *fields[SUBID_NFIELDS];
/*
* Copy the string to a temporary buffer so the substrings can
@@ -93,7 +88,7 @@ static void *subordinate_parse (const char *line)
* field. The fields are converted into NUL terminated strings.
*/
- for (cp = rangebuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) {
+ for (cp = rangebuf, i = 0; (i < SUBID_NFIELDS) && (NULL != cp); i++) {
fields[i] = cp;
while (('\0' != *cp) && (':' != *cp)) {
cp++;
@@ -108,10 +103,10 @@ static void *subordinate_parse (const char *line)
}
/*
- * There must be exactly NFIELDS colon separated fields or
+ * There must be exactly SUBID_NFIELDS colon separated fields or
* the entry is invalid. Also, fields must be non-blank.
*/
- if (i != NFIELDS || *fields[0] == '\0' || *fields[1] == '\0' || *fields[2] == '\0')
+ if (i != SUBID_NFIELDS || *fields[0] == '\0' || *fields[1] == '\0' || *fields[2] == '\0')
return NULL;
range.owner = fields[0];
if (getulong (fields[1], &range.start) == 0)
@@ -314,6 +309,35 @@ static bool have_range(struct commonio_db *db,
return false;
}
+static bool append_range(struct subid_range **ranges, const struct subordinate_range *new, int n)
+{
+ if (!*ranges) {
+ *ranges = malloc(sizeof(struct subid_range));
+ if (!*ranges)
+ return false;
+ } else {
+ struct subid_range *alloced;
+ alloced = realloc(*ranges, (n + 1) * (sizeof(struct subid_range)));
+ if (!alloced)
+ return false;
+ *ranges = alloced;
+ }
+ (*ranges)[n].start = new->start;
+ (*ranges)[n].count = new->count;
+ return true;
+}
+
+void free_subordinate_ranges(struct subordinate_range **ranges, int count)
+{
+ int i;
+
+ if (!ranges)
+ return;
+ for (i = 0; i < count; i++)
+ subordinate_free(ranges[i]);
+ free(ranges);
+}
+
/*
* subordinate_range_cmp: compare uid ranges
*
@@ -574,23 +598,37 @@ int sub_uid_open (int mode)
return commonio_open (&subordinate_uid_db, mode);
}
-bool sub_uid_assigned(const char *owner)
+bool local_sub_uid_assigned(const char *owner)
{
return range_exists (&subordinate_uid_db, owner);
}
bool have_sub_uids(const char *owner, uid_t start, unsigned long count)
{
+ struct subid_nss_ops *h;
+ bool found;
+ enum subid_status status;
+ h = get_subid_nss_handle();
+ if (h) {
+ status = h->has_range(owner, start, count, ID_TYPE_UID, &found);
+ if (status == SUBID_STATUS_SUCCESS && found)
+ return true;
+ return false;
+ }
return have_range (&subordinate_uid_db, owner, start, count);
}
int sub_uid_add (const char *owner, uid_t start, unsigned long count)
{
+ if (get_subid_nss_handle())
+ return -EOPNOTSUPP;
return add_range (&subordinate_uid_db, owner, start, count);
}
int sub_uid_remove (const char *owner, uid_t start, unsigned long count)
{
+ if (get_subid_nss_handle())
+ return -EOPNOTSUPP;
return remove_range (&subordinate_uid_db, owner, start, count);
}
@@ -658,21 +696,35 @@ int sub_gid_open (int mode)
bool have_sub_gids(const char *owner, gid_t start, unsigned long count)
{
+ struct subid_nss_ops *h;
+ bool found;
+ enum subid_status status;
+ h = get_subid_nss_handle();
+ if (h) {
+ status = h->has_range(owner, start, count, ID_TYPE_GID, &found);
+ if (status == SUBID_STATUS_SUCCESS && found)
+ return true;
+ return false;
+ }
return have_range(&subordinate_gid_db, owner, start, count);
}
-bool sub_gid_assigned(const char *owner)
+bool local_sub_gid_assigned(const char *owner)
{
return range_exists (&subordinate_gid_db, owner);
}
int sub_gid_add (const char *owner, gid_t start, unsigned long count)
{
+ if (get_subid_nss_handle())
+ return -EOPNOTSUPP;
return add_range (&subordinate_gid_db, owner, start, count);
}
int sub_gid_remove (const char *owner, gid_t start, unsigned long count)
{
+ if (get_subid_nss_handle())
+ return -EOPNOTSUPP;
return remove_range (&subordinate_gid_db, owner, start, count);
}
@@ -692,6 +744,308 @@ gid_t sub_gid_find_free_range(gid_t min, gid_t max, unsigned long count)
start = find_free_range (&subordinate_gid_db, min, max, count);
return start == ULONG_MAX ? (gid_t) -1 : start;
}
+
+/*
+ * int list_owner_ranges(const char *owner, enum subid_type id_type, struct subordinate_range ***ranges)
+ *
+ * @owner: username
+ * @id_type: UID or GUID
+ * @ranges: pointer to array of ranges into which results will be placed.
+ *
+ * Fills in the subuid or subgid ranges which are owned by the specified
+ * user. Username may be a username or a string representation of a
+ * UID number. If id_type is UID, then subuids are returned, else
+ * subgids are given.
+
+ * Returns the number of ranges found, or < 0 on error.
+ *
+ * The caller must free the subordinate range list.
+ */
+int list_owner_ranges(const char *owner, enum subid_type id_type, struct subid_range **in_ranges)
+{
+ // TODO - need to handle owner being either uid or username
+ struct subid_range *ranges = NULL;
+ const struct subordinate_range *range;
+ struct commonio_db *db;
+ enum subid_status status;
+ int count = 0;
+ struct subid_nss_ops *h;
+
+ *in_ranges = NULL;
+
+ h = get_subid_nss_handle();
+ if (h) {
+ status = h->list_owner_ranges(owner, id_type, in_ranges, &count);
+ if (status == SUBID_STATUS_SUCCESS)
+ return count;
+ return -1;
+ }
+
+ switch (id_type) {
+ case ID_TYPE_UID:
+ if (!sub_uid_open(O_RDONLY)) {
+ return -1;
+ }
+ db = &subordinate_uid_db;
+ break;
+ case ID_TYPE_GID:
+ if (!sub_gid_open(O_RDONLY)) {
+ return -1;
+ }
+ db = &subordinate_gid_db;
+ break;
+ default:
+ return -1;
+ }
+
+ commonio_rewind(db);
+ while ((range = commonio_next(db)) != NULL) {
+ if (0 == strcmp(range->owner, owner)) {
+ if (!append_range(&ranges, range, count++)) {
+ free(ranges);
+ ranges = NULL;
+ count = -1;
+ goto out;
+ }
+ }
+ }
+
+out:
+ if (id_type == ID_TYPE_UID)
+ sub_uid_close();
+ else
+ sub_gid_close();
+
+ *in_ranges = ranges;
+ return count;
+}
+
+static bool all_digits(const char *str)
+{
+ int i;
+
+ for (i = 0; str[i] != '\0'; i++)
+ if (!isdigit(str[i]))
+ return false;
+ return true;
+}
+
+static int append_uids(uid_t **uids, const char *owner, int n)
+{
+ uid_t owner_uid;
+ uid_t *ret;
+ int i;
+
+ if (all_digits(owner)) {
+ i = sscanf(owner, "%d", &owner_uid);
+ if (i != 1) {
+ // should not happen
+ free(*uids);
+ *uids = NULL;
+ return -1;
+ }
+ } else {
+ struct passwd *pwd = getpwnam(owner);
+ if (NULL == pwd) {
+ /* Username not defined in /etc/passwd, or error occured during lookup */
+ free(*uids);
+ *uids = NULL;
+ return -1;
+ }
+ owner_uid = pwd->pw_uid;
+ }
+
+ for (i = 0; i < n; i++) {
+ if (owner_uid == (*uids)[i])
+ return n;
+ }
+
+ ret = realloc(*uids, (n + 1) * sizeof(uid_t));
+ if (!ret) {
+ free(*uids);
+ return -1;
+ }
+ ret[n] = owner_uid;
+ *uids = ret;
+ return n+1;
+}
+
+int find_subid_owners(unsigned long id, enum subid_type id_type, uid_t **uids)
+{
+ const struct subordinate_range *range;
+ struct subid_nss_ops *h;
+ enum subid_status status;
+ struct commonio_db *db;
+ int n = 0;
+
+ h = get_subid_nss_handle();
+ if (h) {
+ status = h->find_subid_owners(id, id_type, uids, &n);
+ // Several ways we could handle the error cases here.
+ if (status != SUBID_STATUS_SUCCESS)
+ return -1;
+ return n;
+ }
+
+ switch (id_type) {
+ case ID_TYPE_UID:
+ if (!sub_uid_open(O_RDONLY)) {
+ return -1;
+ }
+ db = &subordinate_uid_db;
+ break;
+ case ID_TYPE_GID:
+ if (!sub_gid_open(O_RDONLY)) {
+ return -1;
+ }
+ db = &subordinate_gid_db;
+ break;
+ default:
+ return -1;
+ }
+
+ *uids = NULL;
+
+ commonio_rewind(db);
+ while ((range = commonio_next(db)) != NULL) {
+ if (id >= range->start && id < range->start + range-> count) {
+ n = append_uids(uids, range->owner, n);
+ if (n < 0)
+ break;
+ }
+ }
+
+ if (id_type == ID_TYPE_UID)
+ sub_uid_close();
+ else
+ sub_gid_close();
+
+ return n;
+}
+
+bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, bool reuse)
+{
+ struct commonio_db *db;
+ const struct subordinate_range *r;
+ bool ret;
+
+ if (get_subid_nss_handle())
+ return false;
+
+ switch (id_type) {
+ case ID_TYPE_UID:
+ if (!sub_uid_lock()) {
+ printf("Failed loging subuids (errno %d)\n", errno);
+ return false;
+ }
+ if (!sub_uid_open(O_CREAT | O_RDWR)) {
+ printf("Failed opening subuids (errno %d)\n", errno);
+ sub_uid_unlock();
+ return false;
+ }
+ db = &subordinate_uid_db;
+ break;
+ case ID_TYPE_GID:
+ if (!sub_gid_lock()) {
+ printf("Failed loging subgids (errno %d)\n", errno);
+ return false;
+ }
+ if (!sub_gid_open(O_CREAT | O_RDWR)) {
+ printf("Failed opening subgids (errno %d)\n", errno);
+ sub_gid_unlock();
+ return false;
+ }
+ db = &subordinate_gid_db;
+ break;
+ default:
+ return false;
+ }
+
+ commonio_rewind(db);
+ if (reuse) {
+ while ((r = commonio_next(db)) != NULL) {
+ // TODO account for username vs uid_t
+ if (0 != strcmp(r->owner, range->owner))
+ continue;
+ if (r->count >= range->count) {
+ range->count = r->count;
+ range->start = r->start;
+ return true;
+ }
+ }
+ }
+
+ range->start = find_free_range(db, range->start, ULONG_MAX, range->count);
+
+ if (range->start == ULONG_MAX) {
+ ret = false;
+ goto out;
+ }
+
+ ret = add_range(db, range->owner, range->start, range->count) == 1;
+
+out:
+ if (id_type == ID_TYPE_UID) {
+ sub_uid_close();
+ sub_uid_unlock();
+ } else {
+ sub_gid_close();
+ sub_gid_unlock();
+ }
+
+ return ret;
+}
+
+bool release_subid_range(struct subordinate_range *range, enum subid_type id_type)
+{
+ struct commonio_db *db;
+ bool ret;
+
+ if (get_subid_nss_handle())
+ return false;
+
+ switch (id_type) {
+ case ID_TYPE_UID:
+ if (!sub_uid_lock()) {
+ printf("Failed loging subuids (errno %d)\n", errno);
+ return false;
+ }
+ if (!sub_uid_open(O_CREAT | O_RDWR)) {
+ printf("Failed opening subuids (errno %d)\n", errno);
+ sub_uid_unlock();
+ return false;
+ }
+ db = &subordinate_uid_db;
+ break;
+ case ID_TYPE_GID:
+ if (!sub_gid_lock()) {
+ printf("Failed loging subgids (errno %d)\n", errno);
+ return false;
+ }
+ if (!sub_gid_open(O_CREAT | O_RDWR)) {
+ printf("Failed opening subgids (errno %d)\n", errno);
+ sub_gid_unlock();
+ return false;
+ }
+ db = &subordinate_gid_db;
+ break;
+ default:
+ return false;
+ }
+
+ ret = remove_range(db, range->owner, range->start, range->count) == 1;
+
+ if (id_type == ID_TYPE_UID) {
+ sub_uid_close();
+ sub_uid_unlock();
+ } else {
+ sub_gid_close();
+ sub_gid_unlock();
+ }
+
+ return ret;
+}
+
#else /* !ENABLE_SUBIDS */
extern int errno; /* warning: ANSI C forbids an empty source file */
#endif /* !ENABLE_SUBIDS */
diff --git a/lib/subordinateio.h b/lib/subordinateio.h
index a21d72b8..d32733de 100644
--- a/lib/subordinateio.h
+++ b/lib/subordinateio.h
@@ -11,10 +11,12 @@
#include <sys/types.h>
+#include "../libsubid/subid.h"
+
extern int sub_uid_close(void);
extern bool have_sub_uids(const char *owner, uid_t start, unsigned long count);
extern bool sub_uid_file_present (void);
-extern bool sub_uid_assigned(const char *owner);
+extern bool local_sub_uid_assigned(const char *owner);
extern int sub_uid_lock (void);
extern int sub_uid_setdbname (const char *filename);
extern /*@observer@*/const char *sub_uid_dbname (void);
@@ -23,11 +25,16 @@ extern int sub_uid_unlock (void);
extern int sub_uid_add (const char *owner, uid_t start, unsigned long count);
extern int sub_uid_remove (const char *owner, uid_t start, unsigned long count);
extern uid_t sub_uid_find_free_range(uid_t min, uid_t max, unsigned long count);
+extern int list_owner_ranges(const char *owner, enum subid_type id_type, struct subid_range **ranges);
+extern bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, bool reuse);
+extern bool release_subid_range(struct subordinate_range *range, enum subid_type id_type);
+extern int find_subid_owners(unsigned long id, enum subid_type id_type, uid_t **uids);
+extern void free_subordinate_ranges(struct subordinate_range **ranges, int count);
extern int sub_gid_close(void);
extern bool have_sub_gids(const char *owner, gid_t start, unsigned long count);
extern bool sub_gid_file_present (void);
-extern bool sub_gid_assigned(const char *owner);
+extern bool local_sub_gid_assigned(const char *owner);
extern int sub_gid_lock (void);
extern int sub_gid_setdbname (const char *filename);
extern /*@observer@*/const char *sub_gid_dbname (void);
diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c
index 2f694bd7..e9496cdf 100644
--- a/lib/tcbfuncs.c
+++ b/lib/tcbfuncs.c
@@ -72,8 +72,8 @@ shadowtcb_status shadowtcb_gain_priv (void)
* to exit soon.
*/
#define OUT_OF_MEMORY do { \
- fprintf (stderr, _("%s: out of memory\n"), Prog); \
- (void) fflush (stderr); \
+ fprintf (shadow_logfd, _("%s: out of memory\n"), Prog); \
+ (void) fflush (shadow_logfd); \
} while (false)
/* Returns user's tcb directory path relative to TCB_DIR. */
@@ -116,7 +116,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name)
return NULL;
}
if (lstat (path, &st) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot stat %s: %s\n"),
Prog, path, strerror (errno));
free (path);
@@ -132,7 +132,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name)
return rval;
}
if (!S_ISLNK (st.st_mode)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: %s is neither a directory, nor a symlink.\n"),
Prog, path);
free (path);
@@ -140,7 +140,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name)
}
ret = readlink (path, link, sizeof (link) - 1);
if (-1 == ret) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot read symbolic link %s: %s\n"),
Prog, path, strerror (errno));
free (path);
@@ -149,7 +149,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name)
free (path);
if ((size_t)ret >= sizeof(link) - 1) {
link[sizeof(link) - 1] = '\0';
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Suspiciously long symlink: %s\n"),
Prog, link);
return NULL;
@@ -207,7 +207,7 @@ static shadowtcb_status mkdir_leading (const char *name, uid_t uid)
}
ptr = path;
if (stat (TCB_DIR, &st) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot stat %s: %s\n"),
Prog, TCB_DIR, strerror (errno));
goto out_free_path;
@@ -219,19 +219,19 @@ static shadowtcb_status mkdir_leading (const char *name, uid_t uid)
return SHADOWTCB_FAILURE;
}
if ((mkdir (dir, 0700) != 0) && (errno != EEXIST)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot create directory %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free_dir;
}
if (chown (dir, 0, st.st_gid) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owner of %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free_dir;
}
if (chmod (dir, 0711) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change mode of %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free_dir;
@@ -261,7 +261,7 @@ static shadowtcb_status unlink_suffs (const char *user)
return SHADOWTCB_FAILURE;
}
if ((unlink (tmp) != 0) && (errno != ENOENT)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: unlink: %s: %s\n"),
Prog, tmp, strerror (errno));
free (tmp);
@@ -286,7 +286,7 @@ static shadowtcb_status rmdir_leading (char *path)
}
if (rmdir (dir) != 0) {
if (errno != ENOTEMPTY) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot remove directory %s: %s\n"),
Prog, dir, strerror (errno));
ret = SHADOWTCB_FAILURE;
@@ -315,7 +315,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid)
goto out_free_nomem;
}
if (stat (olddir, &oldmode) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot stat %s: %s\n"),
Prog, olddir, strerror (errno));
goto out_free;
@@ -342,7 +342,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid)
goto out_free;
}
if (rename (real_old_dir, real_new_dir) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot rename %s to %s: %s\n"),
Prog, real_old_dir, real_new_dir, strerror (errno));
goto out_free;
@@ -351,7 +351,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid)
goto out_free;
}
if ((unlink (olddir) != 0) && (errno != ENOENT)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot remove %s: %s\n"),
Prog, olddir, strerror (errno));
goto out_free;
@@ -365,7 +365,7 @@ static shadowtcb_status move_dir (const char *user_newname, uid_t user_newid)
}
if ( (strcmp (real_new_dir, newdir) != 0)
&& (symlink (real_new_dir_rel, newdir) != 0)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot create symbolic link %s: %s\n"),
Prog, real_new_dir_rel, strerror (errno));
goto out_free;
@@ -464,37 +464,37 @@ shadowtcb_status shadowtcb_move (/*@NULL@*/const char *user_newname, uid_t user_
return SHADOWTCB_FAILURE;
}
if (stat (tcbdir, &dirmode) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot stat %s: %s\n"),
Prog, tcbdir, strerror (errno));
goto out_free;
}
if (chown (tcbdir, 0, 0) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owners of %s: %s\n"),
Prog, tcbdir, strerror (errno));
goto out_free;
}
if (chmod (tcbdir, 0700) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change mode of %s: %s\n"),
Prog, tcbdir, strerror (errno));
goto out_free;
}
if (lstat (shadow, &filemode) != 0) {
if (errno != ENOENT) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot lstat %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
}
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Warning, user %s has no tcb shadow file.\n"),
Prog, user_newname);
} else {
if (!S_ISREG (filemode.st_mode) ||
filemode.st_nlink != 1) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Emergency: %s's tcb shadow is not a "
"regular file with st_nlink=1.\n"
"The account is left locked.\n"),
@@ -502,13 +502,13 @@ shadowtcb_status shadowtcb_move (/*@NULL@*/const char *user_newname, uid_t user_
goto out_free;
}
if (chown (shadow, user_newid, filemode.st_gid) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owner of %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
}
if (chmod (shadow, filemode.st_mode & 07777) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change mode of %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
@@ -518,7 +518,7 @@ shadowtcb_status shadowtcb_move (/*@NULL@*/const char *user_newname, uid_t user_
goto out_free;
}
if (chown (tcbdir, user_newid, dirmode.st_gid) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owner of %s: %s\n"),
Prog, tcbdir, strerror (errno));
goto out_free;
@@ -543,7 +543,7 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid)
return SHADOWTCB_SUCCESS;
}
if (stat (TCB_DIR, &tcbdir_stat) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot stat %s: %s\n"),
Prog, TCB_DIR, strerror (errno));
return SHADOWTCB_FAILURE;
@@ -563,39 +563,39 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid)
return SHADOWTCB_FAILURE;
}
if (mkdir (dir, 0700) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: mkdir: %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free;
}
fd = open (shadow, O_RDWR | O_CREAT | O_TRUNC, 0600);
if (fd < 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot open %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
}
close (fd);
if (chown (shadow, 0, authgid) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owner of %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
}
if (chmod (shadow, (mode_t) ((authgid == shadowgid) ? 0600 : 0640)) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change mode of %s: %s\n"),
Prog, shadow, strerror (errno));
goto out_free;
}
if (chown (dir, 0, authgid) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change owner of %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free;
}
if (chmod (dir, (mode_t) ((authgid == shadowgid) ? 02700 : 02710)) != 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Cannot change mode of %s: %s\n"),
Prog, dir, strerror (errno));
goto out_free;
diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am
index 7f43161f..9766a7ec 100644
--- a/libmisc/Makefile.am
+++ b/libmisc/Makefile.am
@@ -3,9 +3,9 @@ EXTRA_DIST = .indent.pro xgetXXbyYY.c
AM_CPPFLAGS = -I$(top_srcdir)/lib $(ECONF_CPPFLAGS)
-noinst_LIBRARIES = libmisc.a
+noinst_LTLIBRARIES = libmisc.la
-libmisc_a_SOURCES = \
+libmisc_la_SOURCES = \
addgrps.c \
age.c \
audit_help.c \
@@ -74,6 +74,6 @@ libmisc_a_SOURCES = \
yesno.c
if WITH_BTRFS
-libmisc_a_SOURCES += btrfs.c
+libmisc_la_SOURCES += btrfs.c
endif
diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in
index b591961f..e957ddee 100644
--- a/libmisc/Makefile.in
+++ b/libmisc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@WITH_BTRFS_TRUE@am__append_1 = btrfs.c
subdir = libmisc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -100,15 +106,9 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_@AM_V@)
-am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo " AR " $@;
-am__v_AR_1 =
-libmisc_a_AR = $(AR) $(ARFLAGS)
-libmisc_a_LIBADD =
-am__libmisc_a_SOURCES_DIST = addgrps.c age.c audit_help.c basename.c \
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libmisc_la_LIBADD =
+am__libmisc_la_SOURCES_DIST = addgrps.c age.c audit_help.c basename.c \
chkname.c chkname.h chowndir.c chowntty.c cleanup.c \
cleanup_group.c cleanup_user.c console.c copydir.c entry.c \
env.c failure.c failure.h find_new_gid.c find_new_uid.c \
@@ -121,31 +121,26 @@ am__libmisc_a_SOURCES_DIST = addgrps.c age.c audit_help.c basename.c \
setupenv.c shell.c strtoday.c sub.c sulog.c ttytype.c tz.c \
ulimit.c user_busy.c utmp.c valid.c xgetpwnam.c xgetpwuid.c \
xgetgrnam.c xgetgrgid.c xgetspnam.c xmalloc.c yesno.c btrfs.c
-@WITH_BTRFS_TRUE@am__objects_1 = btrfs.$(OBJEXT)
-am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \
- audit_help.$(OBJEXT) basename.$(OBJEXT) chkname.$(OBJEXT) \
- chowndir.$(OBJEXT) chowntty.$(OBJEXT) cleanup.$(OBJEXT) \
- cleanup_group.$(OBJEXT) cleanup_user.$(OBJEXT) \
- console.$(OBJEXT) copydir.$(OBJEXT) entry.$(OBJEXT) \
- env.$(OBJEXT) failure.$(OBJEXT) find_new_gid.$(OBJEXT) \
- find_new_uid.$(OBJEXT) find_new_sub_gids.$(OBJEXT) \
- find_new_sub_uids.$(OBJEXT) getdate.$(OBJEXT) \
- getgr_nam_gid.$(OBJEXT) getrange.$(OBJEXT) gettime.$(OBJEXT) \
- hushed.$(OBJEXT) idmapping.$(OBJEXT) isexpired.$(OBJEXT) \
- limits.$(OBJEXT) list.$(OBJEXT) log.$(OBJEXT) \
- loginprompt.$(OBJEXT) mail.$(OBJEXT) motd.$(OBJEXT) \
- myname.$(OBJEXT) obscure.$(OBJEXT) pam_pass.$(OBJEXT) \
- pam_pass_non_interactive.$(OBJEXT) prefix_flag.$(OBJEXT) \
- pwd2spwd.$(OBJEXT) pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) \
- remove_tree.$(OBJEXT) rlogin.$(OBJEXT) root_flag.$(OBJEXT) \
- salt.$(OBJEXT) setugid.$(OBJEXT) setupenv.$(OBJEXT) \
- shell.$(OBJEXT) strtoday.$(OBJEXT) sub.$(OBJEXT) \
- sulog.$(OBJEXT) ttytype.$(OBJEXT) tz.$(OBJEXT) \
- ulimit.$(OBJEXT) user_busy.$(OBJEXT) utmp.$(OBJEXT) \
- valid.$(OBJEXT) xgetpwnam.$(OBJEXT) xgetpwuid.$(OBJEXT) \
- xgetgrnam.$(OBJEXT) xgetgrgid.$(OBJEXT) xgetspnam.$(OBJEXT) \
- xmalloc.$(OBJEXT) yesno.$(OBJEXT) $(am__objects_1)
-libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
+@WITH_BTRFS_TRUE@am__objects_1 = btrfs.lo
+am_libmisc_la_OBJECTS = addgrps.lo age.lo audit_help.lo basename.lo \
+ chkname.lo chowndir.lo chowntty.lo cleanup.lo cleanup_group.lo \
+ cleanup_user.lo console.lo copydir.lo entry.lo env.lo \
+ failure.lo find_new_gid.lo find_new_uid.lo \
+ find_new_sub_gids.lo find_new_sub_uids.lo getdate.lo \
+ getgr_nam_gid.lo getrange.lo gettime.lo hushed.lo idmapping.lo \
+ isexpired.lo limits.lo list.lo log.lo loginprompt.lo mail.lo \
+ motd.lo myname.lo obscure.lo pam_pass.lo \
+ pam_pass_non_interactive.lo prefix_flag.lo pwd2spwd.lo \
+ pwdcheck.lo pwd_init.lo remove_tree.lo rlogin.lo root_flag.lo \
+ salt.lo setugid.lo setupenv.lo shell.lo strtoday.lo sub.lo \
+ sulog.lo ttytype.lo tz.lo ulimit.lo user_busy.lo utmp.lo \
+ valid.lo xgetpwnam.lo xgetpwuid.lo xgetgrnam.lo xgetgrgid.lo \
+ xgetspnam.lo xmalloc.lo yesno.lo $(am__objects_1)
+libmisc_la_OBJECTS = $(am_libmisc_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -160,46 +155,10 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/addgrps.Po ./$(DEPDIR)/age.Po \
- ./$(DEPDIR)/audit_help.Po ./$(DEPDIR)/basename.Po \
- ./$(DEPDIR)/btrfs.Po ./$(DEPDIR)/chkname.Po \
- ./$(DEPDIR)/chowndir.Po ./$(DEPDIR)/chowntty.Po \
- ./$(DEPDIR)/cleanup.Po ./$(DEPDIR)/cleanup_group.Po \
- ./$(DEPDIR)/cleanup_user.Po ./$(DEPDIR)/console.Po \
- ./$(DEPDIR)/copydir.Po ./$(DEPDIR)/entry.Po ./$(DEPDIR)/env.Po \
- ./$(DEPDIR)/failure.Po ./$(DEPDIR)/find_new_gid.Po \
- ./$(DEPDIR)/find_new_sub_gids.Po \
- ./$(DEPDIR)/find_new_sub_uids.Po ./$(DEPDIR)/find_new_uid.Po \
- ./$(DEPDIR)/getdate.Po ./$(DEPDIR)/getgr_nam_gid.Po \
- ./$(DEPDIR)/getrange.Po ./$(DEPDIR)/gettime.Po \
- ./$(DEPDIR)/hushed.Po ./$(DEPDIR)/idmapping.Po \
- ./$(DEPDIR)/isexpired.Po ./$(DEPDIR)/limits.Po \
- ./$(DEPDIR)/list.Po ./$(DEPDIR)/log.Po \
- ./$(DEPDIR)/loginprompt.Po ./$(DEPDIR)/mail.Po \
- ./$(DEPDIR)/motd.Po ./$(DEPDIR)/myname.Po \
- ./$(DEPDIR)/obscure.Po ./$(DEPDIR)/pam_pass.Po \
- ./$(DEPDIR)/pam_pass_non_interactive.Po \
- ./$(DEPDIR)/prefix_flag.Po ./$(DEPDIR)/pwd2spwd.Po \
- ./$(DEPDIR)/pwd_init.Po ./$(DEPDIR)/pwdcheck.Po \
- ./$(DEPDIR)/remove_tree.Po ./$(DEPDIR)/rlogin.Po \
- ./$(DEPDIR)/root_flag.Po ./$(DEPDIR)/salt.Po \
- ./$(DEPDIR)/setugid.Po ./$(DEPDIR)/setupenv.Po \
- ./$(DEPDIR)/shell.Po ./$(DEPDIR)/strtoday.Po \
- ./$(DEPDIR)/sub.Po ./$(DEPDIR)/sulog.Po ./$(DEPDIR)/ttytype.Po \
- ./$(DEPDIR)/tz.Po ./$(DEPDIR)/ulimit.Po \
- ./$(DEPDIR)/user_busy.Po ./$(DEPDIR)/utmp.Po \
- ./$(DEPDIR)/valid.Po ./$(DEPDIR)/xgetgrgid.Po \
- ./$(DEPDIR)/xgetgrnam.Po ./$(DEPDIR)/xgetpwnam.Po \
- ./$(DEPDIR)/xgetpwuid.Po ./$(DEPDIR)/xgetspnam.Po \
- ./$(DEPDIR)/xmalloc.Po ./$(DEPDIR)/yesno.Po
+am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
@@ -227,8 +186,8 @@ am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
am__v_YACC_0 = @echo " YACC " $@;
am__v_YACC_1 =
YLWRAP = $(top_srcdir)/ylwrap
-SOURCES = $(libmisc_a_SOURCES)
-DIST_SOURCES = $(am__libmisc_a_SOURCES_DIST)
+SOURCES = $(libmisc_la_SOURCES)
+DIST_SOURCES = $(am__libmisc_la_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -282,7 +241,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -311,9 +269,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -351,7 +314,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -413,8 +375,8 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = .indent.pro xgetXXbyYY.c
AM_CPPFLAGS = -I$(top_srcdir)/lib $(ECONF_CPPFLAGS)
-noinst_LIBRARIES = libmisc.a
-libmisc_a_SOURCES = addgrps.c age.c audit_help.c basename.c chkname.c \
+noinst_LTLIBRARIES = libmisc.la
+libmisc_la_SOURCES = addgrps.c age.c audit_help.c basename.c chkname.c \
chkname.h chowndir.c chowntty.c cleanup.c cleanup_group.c \
cleanup_user.c console.c copydir.c entry.c env.c failure.c \
failure.h find_new_gid.c find_new_uid.c find_new_sub_gids.c \
@@ -448,8 +410,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -461,13 +423,19 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
-libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES) $(EXTRA_libmisc_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libmisc.a
- $(AM_V_AR)$(libmisc_a_AR) libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD)
- $(AM_V_at)$(RANLIB) libmisc.a
+libmisc.la: $(libmisc_la_OBJECTS) $(libmisc_la_DEPENDENCIES) $(EXTRA_libmisc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmisc_la_OBJECTS) $(libmisc_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -475,76 +443,70 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowntty.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_group.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_user.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copydir.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/failure.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_gid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_gids.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_uids.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_uid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgr_nam_gid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrange.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hushed.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idmapping.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isexpired.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/limits.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loginprompt.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mail.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myname.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obscure.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass_non_interactive.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefix_flag.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd2spwd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd_init.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwdcheck.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remove_tree.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root_flag.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/salt.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setugid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setupenv.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoday.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulog.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttytype.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tz.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ulimit.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/user_busy.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utmp.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrgid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrnam.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwnam.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwuid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetspnam.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Po@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
+@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)/audit_help.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.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)/cleanup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_group.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_user.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)/find_new_gid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_gids.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_uids.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_uid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgr_nam_gid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrange.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hushed.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idmapping.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)/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)/pam_pass_non_interactive.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefix_flag.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)/remove_tree.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root_flag.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)/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)/user_busy.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)/xgetgrgid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrnam.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwnam.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwuid.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetspnam.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -628,10 +590,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -663,7 +622,7 @@ distdir-am: $(DISTFILES)
done
check-am: all-am
check: check-am
-all-am: Makefile $(LIBRARIES)
+all-am: Makefile $(LTLIBRARIES)
installdirs:
install: install-am
install-exec: install-exec-am
@@ -698,74 +657,11 @@ maintainer-clean-generic:
-rm -f getdate.c
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
- -rm -f ./$(DEPDIR)/addgrps.Po
- -rm -f ./$(DEPDIR)/age.Po
- -rm -f ./$(DEPDIR)/audit_help.Po
- -rm -f ./$(DEPDIR)/basename.Po
- -rm -f ./$(DEPDIR)/btrfs.Po
- -rm -f ./$(DEPDIR)/chkname.Po
- -rm -f ./$(DEPDIR)/chowndir.Po
- -rm -f ./$(DEPDIR)/chowntty.Po
- -rm -f ./$(DEPDIR)/cleanup.Po
- -rm -f ./$(DEPDIR)/cleanup_group.Po
- -rm -f ./$(DEPDIR)/cleanup_user.Po
- -rm -f ./$(DEPDIR)/console.Po
- -rm -f ./$(DEPDIR)/copydir.Po
- -rm -f ./$(DEPDIR)/entry.Po
- -rm -f ./$(DEPDIR)/env.Po
- -rm -f ./$(DEPDIR)/failure.Po
- -rm -f ./$(DEPDIR)/find_new_gid.Po
- -rm -f ./$(DEPDIR)/find_new_sub_gids.Po
- -rm -f ./$(DEPDIR)/find_new_sub_uids.Po
- -rm -f ./$(DEPDIR)/find_new_uid.Po
- -rm -f ./$(DEPDIR)/getdate.Po
- -rm -f ./$(DEPDIR)/getgr_nam_gid.Po
- -rm -f ./$(DEPDIR)/getrange.Po
- -rm -f ./$(DEPDIR)/gettime.Po
- -rm -f ./$(DEPDIR)/hushed.Po
- -rm -f ./$(DEPDIR)/idmapping.Po
- -rm -f ./$(DEPDIR)/isexpired.Po
- -rm -f ./$(DEPDIR)/limits.Po
- -rm -f ./$(DEPDIR)/list.Po
- -rm -f ./$(DEPDIR)/log.Po
- -rm -f ./$(DEPDIR)/loginprompt.Po
- -rm -f ./$(DEPDIR)/mail.Po
- -rm -f ./$(DEPDIR)/motd.Po
- -rm -f ./$(DEPDIR)/myname.Po
- -rm -f ./$(DEPDIR)/obscure.Po
- -rm -f ./$(DEPDIR)/pam_pass.Po
- -rm -f ./$(DEPDIR)/pam_pass_non_interactive.Po
- -rm -f ./$(DEPDIR)/prefix_flag.Po
- -rm -f ./$(DEPDIR)/pwd2spwd.Po
- -rm -f ./$(DEPDIR)/pwd_init.Po
- -rm -f ./$(DEPDIR)/pwdcheck.Po
- -rm -f ./$(DEPDIR)/remove_tree.Po
- -rm -f ./$(DEPDIR)/rlogin.Po
- -rm -f ./$(DEPDIR)/root_flag.Po
- -rm -f ./$(DEPDIR)/salt.Po
- -rm -f ./$(DEPDIR)/setugid.Po
- -rm -f ./$(DEPDIR)/setupenv.Po
- -rm -f ./$(DEPDIR)/shell.Po
- -rm -f ./$(DEPDIR)/strtoday.Po
- -rm -f ./$(DEPDIR)/sub.Po
- -rm -f ./$(DEPDIR)/sulog.Po
- -rm -f ./$(DEPDIR)/ttytype.Po
- -rm -f ./$(DEPDIR)/tz.Po
- -rm -f ./$(DEPDIR)/ulimit.Po
- -rm -f ./$(DEPDIR)/user_busy.Po
- -rm -f ./$(DEPDIR)/utmp.Po
- -rm -f ./$(DEPDIR)/valid.Po
- -rm -f ./$(DEPDIR)/xgetgrgid.Po
- -rm -f ./$(DEPDIR)/xgetgrnam.Po
- -rm -f ./$(DEPDIR)/xgetpwnam.Po
- -rm -f ./$(DEPDIR)/xgetpwuid.Po
- -rm -f ./$(DEPDIR)/xgetspnam.Po
- -rm -f ./$(DEPDIR)/xmalloc.Po
- -rm -f ./$(DEPDIR)/yesno.Po
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -811,70 +707,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -f ./$(DEPDIR)/addgrps.Po
- -rm -f ./$(DEPDIR)/age.Po
- -rm -f ./$(DEPDIR)/audit_help.Po
- -rm -f ./$(DEPDIR)/basename.Po
- -rm -f ./$(DEPDIR)/btrfs.Po
- -rm -f ./$(DEPDIR)/chkname.Po
- -rm -f ./$(DEPDIR)/chowndir.Po
- -rm -f ./$(DEPDIR)/chowntty.Po
- -rm -f ./$(DEPDIR)/cleanup.Po
- -rm -f ./$(DEPDIR)/cleanup_group.Po
- -rm -f ./$(DEPDIR)/cleanup_user.Po
- -rm -f ./$(DEPDIR)/console.Po
- -rm -f ./$(DEPDIR)/copydir.Po
- -rm -f ./$(DEPDIR)/entry.Po
- -rm -f ./$(DEPDIR)/env.Po
- -rm -f ./$(DEPDIR)/failure.Po
- -rm -f ./$(DEPDIR)/find_new_gid.Po
- -rm -f ./$(DEPDIR)/find_new_sub_gids.Po
- -rm -f ./$(DEPDIR)/find_new_sub_uids.Po
- -rm -f ./$(DEPDIR)/find_new_uid.Po
- -rm -f ./$(DEPDIR)/getdate.Po
- -rm -f ./$(DEPDIR)/getgr_nam_gid.Po
- -rm -f ./$(DEPDIR)/getrange.Po
- -rm -f ./$(DEPDIR)/gettime.Po
- -rm -f ./$(DEPDIR)/hushed.Po
- -rm -f ./$(DEPDIR)/idmapping.Po
- -rm -f ./$(DEPDIR)/isexpired.Po
- -rm -f ./$(DEPDIR)/limits.Po
- -rm -f ./$(DEPDIR)/list.Po
- -rm -f ./$(DEPDIR)/log.Po
- -rm -f ./$(DEPDIR)/loginprompt.Po
- -rm -f ./$(DEPDIR)/mail.Po
- -rm -f ./$(DEPDIR)/motd.Po
- -rm -f ./$(DEPDIR)/myname.Po
- -rm -f ./$(DEPDIR)/obscure.Po
- -rm -f ./$(DEPDIR)/pam_pass.Po
- -rm -f ./$(DEPDIR)/pam_pass_non_interactive.Po
- -rm -f ./$(DEPDIR)/prefix_flag.Po
- -rm -f ./$(DEPDIR)/pwd2spwd.Po
- -rm -f ./$(DEPDIR)/pwd_init.Po
- -rm -f ./$(DEPDIR)/pwdcheck.Po
- -rm -f ./$(DEPDIR)/remove_tree.Po
- -rm -f ./$(DEPDIR)/rlogin.Po
- -rm -f ./$(DEPDIR)/root_flag.Po
- -rm -f ./$(DEPDIR)/salt.Po
- -rm -f ./$(DEPDIR)/setugid.Po
- -rm -f ./$(DEPDIR)/setupenv.Po
- -rm -f ./$(DEPDIR)/shell.Po
- -rm -f ./$(DEPDIR)/strtoday.Po
- -rm -f ./$(DEPDIR)/sub.Po
- -rm -f ./$(DEPDIR)/sulog.Po
- -rm -f ./$(DEPDIR)/ttytype.Po
- -rm -f ./$(DEPDIR)/tz.Po
- -rm -f ./$(DEPDIR)/ulimit.Po
- -rm -f ./$(DEPDIR)/user_busy.Po
- -rm -f ./$(DEPDIR)/utmp.Po
- -rm -f ./$(DEPDIR)/valid.Po
- -rm -f ./$(DEPDIR)/xgetgrgid.Po
- -rm -f ./$(DEPDIR)/xgetgrnam.Po
- -rm -f ./$(DEPDIR)/xgetpwnam.Po
- -rm -f ./$(DEPDIR)/xgetpwuid.Po
- -rm -f ./$(DEPDIR)/xgetspnam.Po
- -rm -f ./$(DEPDIR)/xmalloc.Po
- -rm -f ./$(DEPDIR)/yesno.Po
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -895,16 +728,16 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
- clean-generic clean-libtool clean-noinstLIBRARIES \
- cscopelist-am ctags ctags-am distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
diff --git a/libmisc/addgrps.c b/libmisc/addgrps.c
index 40fad994..76c172a5 100644
--- a/libmisc/addgrps.c
+++ b/libmisc/addgrps.c
@@ -57,6 +57,7 @@ int add_groups (const char *list)
bool added;
char *token;
char buf[1024];
+ int ret;
if (strlen (list) >= sizeof (buf)) {
errno = EINVAL;
@@ -93,7 +94,7 @@ int add_groups (const char *list)
grp = getgrnam (token); /* local, no need for xgetgrnam */
if (NULL == grp) {
- fprintf (stderr, _("Warning: unknown group %s\n"),
+ fprintf (shadow_logfd, _("Warning: unknown group %s\n"),
token);
continue;
}
@@ -105,7 +106,7 @@ int add_groups (const char *list)
}
if (ngroups >= sysconf (_SC_NGROUPS_MAX)) {
- fputs (_("Warning: too many groups\n"), stderr);
+ fputs (_("Warning: too many groups\n"), shadow_logfd);
break;
}
tmp = (gid_t *) realloc (grouplist, (size_t)(ngroups + 1) * sizeof (GETGROUPS_T));
@@ -120,9 +121,12 @@ int add_groups (const char *list)
}
if (added) {
- return setgroups ((size_t)ngroups, grouplist);
+ ret = setgroups ((size_t)ngroups, grouplist);
+ free (grouplist);
+ return ret;
}
+ free (grouplist);
return 0;
}
#else /* HAVE_SETGROUPS && !USE_PAM */
diff --git a/libmisc/audit_help.c b/libmisc/audit_help.c
index 1aadaa37..b4e5f10e 100644
--- a/libmisc/audit_help.c
+++ b/libmisc/audit_help.c
@@ -59,7 +59,7 @@ void audit_help_open (void)
return;
}
(void) fputs (_("Cannot open audit interface - aborting.\n"),
- stderr);
+ shadow_logfd);
exit (EXIT_FAILURE);
}
}
diff --git a/libmisc/chowntty.c b/libmisc/chowntty.c
index f6f5dbc5..a42ab622 100644
--- a/libmisc/chowntty.c
+++ b/libmisc/chowntty.c
@@ -62,6 +62,7 @@ void chown_tty (const struct passwd *info)
grent = getgr_nam_gid (getdef_str ("TTYGROUP"));
if (NULL != grent) {
gid = grent->gr_gid;
+ gr_free (grent);
} else {
gid = info->pw_gid;
}
@@ -75,7 +76,7 @@ void chown_tty (const struct passwd *info)
|| (fchmod (STDIN_FILENO, (mode_t)getdef_num ("TTYPERM", 0600)) != 0)) {
int err = errno;
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Unable to change owner or mode of tty stdin: %s"),
strerror (err));
SYSLOG ((LOG_WARN,
diff --git a/libmisc/cleanup_group.c b/libmisc/cleanup_group.c
index d07adc71..a1233eac 100644
--- a/libmisc/cleanup_group.c
+++ b/libmisc/cleanup_group.c
@@ -203,7 +203,7 @@ void cleanup_report_del_group_gshadow (void *group_name)
void cleanup_unlock_group (unused void *arg)
{
if (gr_unlock () == 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to unlock %s\n"),
Prog, gr_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
@@ -223,7 +223,7 @@ void cleanup_unlock_group (unused void *arg)
void cleanup_unlock_gshadow (unused void *arg)
{
if (sgr_unlock () == 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to unlock %s\n"),
Prog, sgr_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", sgr_dbname ()));
diff --git a/libmisc/cleanup_user.c b/libmisc/cleanup_user.c
index 6e497512..7422846a 100644
--- a/libmisc/cleanup_user.c
+++ b/libmisc/cleanup_user.c
@@ -120,7 +120,7 @@ void cleanup_report_add_user_shadow (void *user_name)
void cleanup_unlock_passwd (unused void *arg)
{
if (pw_unlock () == 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to unlock %s\n"),
Prog, pw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", pw_dbname ()));
@@ -139,7 +139,7 @@ void cleanup_unlock_passwd (unused void *arg)
void cleanup_unlock_shadow (unused void *arg)
{
if (spw_unlock () == 0) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to unlock %s\n"),
Prog, spw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ()));
diff --git a/libmisc/copydir.c b/libmisc/copydir.c
index e6aac6ec..015e1b68 100644
--- a/libmisc/copydir.c
+++ b/libmisc/copydir.c
@@ -125,11 +125,11 @@ static void error_acl (struct error_context *ctx, const char *fmt, ...)
}
va_start (ap, fmt);
- (void) fprintf (stderr, _("%s: "), Prog);
- if (vfprintf (stderr, fmt, ap) != 0) {
- (void) fputs (_(": "), stderr);
+ (void) fprintf (shadow_logfd, _("%s: "), Prog);
+ if (vfprintf (shadow_logfd, fmt, ap) != 0) {
+ (void) fputs (_(": "), shadow_logfd);
}
- (void) fprintf (stderr, "%s\n", strerror (errno));
+ (void) fprintf (shadow_logfd, "%s\n", strerror (errno));
va_end (ap);
}
@@ -248,7 +248,7 @@ int copy_tree (const char *src_root, const char *dst_root,
}
if (!S_ISDIR (sb.st_mode)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
"%s: %s is not a directory",
Prog, src_root);
return -1;
@@ -484,7 +484,7 @@ static int copy_dir (const char *src, const char *dst,
*/
#ifdef WITH_SELINUX
- if (set_selinux_file_context (dst) != 0) {
+ if (set_selinux_file_context (dst, S_IFDIR) != 0) {
return -1;
}
#endif /* WITH_SELINUX */
@@ -605,7 +605,7 @@ static int copy_symlink (const char *src, const char *dst,
}
#ifdef WITH_SELINUX
- if (set_selinux_file_context (dst) != 0) {
+ if (set_selinux_file_context (dst, S_IFLNK) != 0) {
free (oldlink);
return -1;
}
@@ -684,7 +684,7 @@ static int copy_special (const char *src, const char *dst,
int err = 0;
#ifdef WITH_SELINUX
- if (set_selinux_file_context (dst) != 0) {
+ if (set_selinux_file_context (dst, statp->st_mode & S_IFMT) != 0) {
return -1;
}
#endif /* WITH_SELINUX */
@@ -744,7 +744,8 @@ static int copy_file (const char *src, const char *dst,
return -1;
}
#ifdef WITH_SELINUX
- if (set_selinux_file_context (dst) != 0) {
+ if (set_selinux_file_context (dst, S_IFREG) != 0) {
+ (void) close (ifd);
return -1;
}
#endif /* WITH_SELINUX */
@@ -771,12 +772,16 @@ static int copy_file (const char *src, const char *dst,
&& (errno != 0))
#endif /* WITH_ATTR */
) {
+ if (ofd >= 0) {
+ (void) close (ofd);
+ }
(void) close (ifd);
return -1;
}
while ((cnt = read (ifd, buf, sizeof buf)) > 0) {
if (write (ofd, buf, (size_t)cnt) != cnt) {
+ (void) close (ofd);
(void) close (ifd);
return -1;
}
@@ -786,6 +791,7 @@ static int copy_file (const char *src, const char *dst,
#ifdef HAVE_FUTIMES
if (futimes (ofd, mt) != 0) {
+ (void) close (ofd);
return -1;
}
#endif /* HAVE_FUTIMES */
diff --git a/libmisc/env.c b/libmisc/env.c
index 0b7c148f..47a55584 100644
--- a/libmisc/env.c
+++ b/libmisc/env.c
@@ -171,7 +171,7 @@ void addenv (const char *string, /*@null@*/const char *value)
}
newenvp = __newenvp;
} else {
- (void) fputs (_("Environment overflow\n"), stderr);
+ (void) fputs (_("Environment overflow\n"), shadow_logfd);
newenvc--;
free (newenvp[newenvc]);
}
diff --git a/libmisc/failure.c b/libmisc/failure.c
index f6390a79..a1f3ec79 100644
--- a/libmisc/failure.c
+++ b/libmisc/failure.c
@@ -98,7 +98,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl)
fl->fail_cnt++;
}
- strncpy (fl->fail_line, tty, sizeof fl->fail_line);
+ strncpy (fl->fail_line, tty, sizeof (fl->fail_line) - 1);
(void) time (&fl->fail_time);
/*
diff --git a/libmisc/find_new_gid.c b/libmisc/find_new_gid.c
index f93b4a37..d9a0b33f 100644
--- a/libmisc/find_new_gid.c
+++ b/libmisc/find_new_gid.c
@@ -74,7 +74,7 @@ static int get_ranges (bool sys_group, gid_t *min_id, gid_t *max_id,
/* Check that the ranges make sense */
if (*max_id < *min_id) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: SYS_GID_MIN (%lu), "
"GID_MIN (%lu), SYS_GID_MAX (%lu)\n"),
Prog, (unsigned long) *min_id,
@@ -97,7 +97,7 @@ static int get_ranges (bool sys_group, gid_t *min_id, gid_t *max_id,
/* Check that the ranges make sense */
if (*max_id < *min_id) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: GID_MIN (%lu), "
"GID_MAX (%lu)\n"),
Prog, (unsigned long) *min_id,
@@ -213,7 +213,7 @@ int find_new_gid (bool sys_group,
* more likely to want to stop and address the
* issue.
*/
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Encountered error attempting to use "
"preferred GID: %s\n"),
Prog, strerror (result));
@@ -243,7 +243,7 @@ int find_new_gid (bool sys_group,
/* Create an array to hold all of the discovered GIDs */
used_gids = malloc (sizeof (bool) * (gid_max +1));
if (NULL == used_gids) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to allocate memory: %s\n"),
Prog, strerror (errno));
return -1;
@@ -323,7 +323,7 @@ int find_new_gid (bool sys_group,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique system GID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -366,7 +366,7 @@ int find_new_gid (bool sys_group,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique system GID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -426,7 +426,7 @@ int find_new_gid (bool sys_group,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique GID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -469,7 +469,7 @@ int find_new_gid (bool sys_group,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique GID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -488,7 +488,7 @@ int find_new_gid (bool sys_group,
}
/* The code reached here and found no available IDs in the range */
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique GID (no more available GIDs)\n"),
Prog);
SYSLOG ((LOG_WARN, "no more available GIDs on the system"));
diff --git a/libmisc/find_new_sub_gids.c b/libmisc/find_new_sub_gids.c
index ae8a937c..6d33dec6 100644
--- a/libmisc/find_new_sub_gids.c
+++ b/libmisc/find_new_sub_gids.c
@@ -46,8 +46,7 @@
*
* Return 0 on success, -1 if no unused GIDs are available.
*/
-int find_new_sub_gids (const char *owner,
- gid_t *range_start, unsigned long *range_count)
+int find_new_sub_gids (gid_t *range_start, unsigned long *range_count)
{
unsigned long min, max;
unsigned long count;
@@ -61,7 +60,7 @@ int find_new_sub_gids (const char *owner,
count = getdef_ulong ("SUB_GID_COUNT", 65536);
if (min > max || count >= max || (min + count - 1) > max) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: SUB_GID_MIN (%lu),"
" SUB_GID_MAX (%lu), SUB_GID_COUNT (%lu)\n"),
Prog, min, max, count);
@@ -70,7 +69,7 @@ int find_new_sub_gids (const char *owner,
start = sub_gid_find_free_range(min, max, count);
if (start == (gid_t)-1) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique subordinate GID range\n"),
Prog);
SYSLOG ((LOG_WARN, "no more available subordinate GIDs on the system"));
diff --git a/libmisc/find_new_sub_uids.c b/libmisc/find_new_sub_uids.c
index 12cb2d2e..be3a0df8 100644
--- a/libmisc/find_new_sub_uids.c
+++ b/libmisc/find_new_sub_uids.c
@@ -46,8 +46,7 @@
*
* Return 0 on success, -1 if no unused UIDs are available.
*/
-int find_new_sub_uids (const char *owner,
- uid_t *range_start, unsigned long *range_count)
+int find_new_sub_uids (uid_t *range_start, unsigned long *range_count)
{
unsigned long min, max;
unsigned long count;
@@ -61,7 +60,7 @@ int find_new_sub_uids (const char *owner,
count = getdef_ulong ("SUB_UID_COUNT", 65536);
if (min > max || count >= max || (min + count - 1) > max) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: SUB_UID_MIN (%lu),"
" SUB_UID_MAX (%lu), SUB_UID_COUNT (%lu)\n"),
Prog, min, max, count);
@@ -70,7 +69,7 @@ int find_new_sub_uids (const char *owner,
start = sub_uid_find_free_range(min, max, count);
if (start == (uid_t)-1) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique subordinate UID range\n"),
Prog);
SYSLOG ((LOG_WARN, "no more available subordinate UIDs on the system"));
diff --git a/libmisc/find_new_uid.c b/libmisc/find_new_uid.c
index 743cf0a5..30dc2ed6 100644
--- a/libmisc/find_new_uid.c
+++ b/libmisc/find_new_uid.c
@@ -74,7 +74,7 @@ static int get_ranges (bool sys_user, uid_t *min_id, uid_t *max_id,
/* Check that the ranges make sense */
if (*max_id < *min_id) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: SYS_UID_MIN (%lu), "
"UID_MIN (%lu), SYS_UID_MAX (%lu)\n"),
Prog, (unsigned long) *min_id,
@@ -97,7 +97,7 @@ static int get_ranges (bool sys_user, uid_t *min_id, uid_t *max_id,
/* Check that the ranges make sense */
if (*max_id < *min_id) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: Invalid configuration: UID_MIN (%lu), "
"UID_MAX (%lu)\n"),
Prog, (unsigned long) *min_id,
@@ -213,7 +213,7 @@ int find_new_uid(bool sys_user,
* more likely to want to stop and address the
* issue.
*/
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Encountered error attempting to use "
"preferred UID: %s\n"),
Prog, strerror (result));
@@ -243,7 +243,7 @@ int find_new_uid(bool sys_user,
/* Create an array to hold all of the discovered UIDs */
used_uids = malloc (sizeof (bool) * (uid_max +1));
if (NULL == used_uids) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: failed to allocate memory: %s\n"),
Prog, strerror (errno));
return -1;
@@ -323,7 +323,7 @@ int find_new_uid(bool sys_user,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique system UID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -366,7 +366,7 @@ int find_new_uid(bool sys_user,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique system UID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -426,7 +426,7 @@ int find_new_uid(bool sys_user,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique UID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -469,7 +469,7 @@ int find_new_uid(bool sys_user,
*
*/
if (!nospam) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique UID (%s). "
"Suppressing additional messages.\n"),
Prog, strerror (result));
@@ -488,7 +488,7 @@ int find_new_uid(bool sys_user,
}
/* The code reached here and found no available IDs in the range */
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: Can't get unique UID (no more available UIDs)\n"),
Prog);
SYSLOG ((LOG_WARN, "no more available UIDs on the system"));
diff --git a/libmisc/getdate.c b/libmisc/getdate.c
index b36188f6..390f9efd 100644
--- a/libmisc/getdate.c
+++ b/libmisc/getdate.c
@@ -1,9 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.4.1. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
- Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 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
@@ -41,14 +40,11 @@
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
-/* Undocumented macros, especially those whose name start with YY_,
- are private implementation details. Do not rely on them. */
-
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.4.1"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -65,8 +61,8 @@
-/* First part of user prologue. */
-#line 1 "getdate.y"
+/* Copy the first part of user declarations. */
+#line 1 "getdate.y" /* yacc.c:339 */
/*
** Originally written by Steven M. Bellovin <smb@research.att.com> while
@@ -237,17 +233,13 @@ static int yyRelSeconds;
static int yyRelYear;
-#line 241 "getdate.c"
+#line 237 "getdate.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
-# if defined __cplusplus
-# if 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
# else
-# define YY_NULLPTR ((void*)0)
+# define YY_NULLPTR 0
# endif
# endif
@@ -311,16 +303,17 @@ extern int yydebug;
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
union YYSTYPE
{
-#line 172 "getdate.y"
+#line 172 "getdate.y" /* yacc.c:355 */
int Number;
enum _MERIDIAN Meridian;
-#line 322 "getdate.c"
-
+#line 315 "getdate.c" /* yacc.c:355 */
};
+
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -333,7 +326,9 @@ int yyparse (void);
+/* Copy the second part of user declarations. */
+#line 332 "getdate.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -354,13 +349,13 @@ typedef signed char yytype_int8;
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
-typedef unsigned short yytype_uint16;
+typedef unsigned short int yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
-typedef short yytype_int16;
+typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
@@ -372,7 +367,7 @@ typedef short yytype_int16;
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
-# define YYSIZE_T unsigned
+# define YYSIZE_T unsigned int
# endif
#endif
@@ -408,6 +403,15 @@ typedef short yytype_int16;
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -415,7 +419,7 @@ typedef short yytype_int16;
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
@@ -435,8 +439,6 @@ typedef short yytype_int16;
#endif
-#define YY_ASSERT(E) ((void) (0 && (E)))
-
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -579,16 +581,16 @@ union yyalloc
/* YYNSTATES -- Number of states. */
#define YYNSTATES 61
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 273
-/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex. */
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -780,22 +782,22 @@ static const yytype_uint8 yyr2[] =
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
- do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
- while (0)
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
#define YYTERROR 1
@@ -835,37 +837,37 @@ do { \
} while (0)
-/*-----------------------------------.
-| Print this symbol's value on YYO. |
-`-----------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
static void
-yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
{
- FILE *yyoutput = yyo;
- YYUSE (yyoutput);
+ FILE *yyo = yyoutput;
+ YYUSE (yyo);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
- YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
YYUSE (yytype);
}
-/*---------------------------.
-| Print this symbol on YYO. |
-`---------------------------*/
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
static void
-yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
{
- YYFPRINTF (yyo, "%s %s (",
+ YYFPRINTF (yyoutput, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- yy_symbol_value_print (yyo, yytype, yyvaluep);
- YYFPRINTF (yyo, ")");
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+ YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
@@ -899,7 +901,7 @@ do { \
static void
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
{
- unsigned long yylno = yyrline[yyrule];
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -910,7 +912,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]],
- &yyvsp[(yyi + 1) - (yynrhs)]
+ &(yyvsp[(yyi + 1) - (yynrhs)])
);
YYFPRINTF (stderr, "\n");
}
@@ -1014,10 +1016,7 @@ yytnamerr (char *yyres, const char *yystr)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- else
- goto append;
-
- append:
+ /* Fall through. */
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -1035,7 +1034,7 @@ yytnamerr (char *yyres, const char *yystr)
if (! yyres)
return yystrlen (yystr);
- return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
+ return yystpcpy (yyres, yystr) - yyres;
}
# endif
@@ -1113,10 +1112,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
- yysize = yysize1;
- else
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
+ yysize = yysize1;
}
}
}
@@ -1128,7 +1127,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
case N: \
yyformat = S; \
break
- default: /* Avoid compiler warnings. */
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1140,10 +1138,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
- yysize = yysize1;
- else
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
+ yysize = yysize1;
}
if (*yymsg_alloc < yysize)
@@ -1269,33 +1266,23 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
-
/*------------------------------------------------------------.
-| yynewstate -- push a new state, which is found in yystate. |
+| yynewstate -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
-yynewstate:
+ 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++;
-
-/*--------------------------------------------------------------------.
-| yynewstate -- set current state (the top of the stack) to yystate. |
-`--------------------------------------------------------------------*/
-yysetstate:
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
- *yyssp = (yytype_int16) yystate;
+ yysetstate:
+ *yyssp = yystate;
if (yyss + yystacksize - 1 <= yyssp)
-#if !defined yyoverflow && !defined YYSTACK_RELOCATE
- goto yyexhaustedlab;
-#else
{
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
+ YYSIZE_T yysize = yyssp - yyss + 1;
-# if defined yyoverflow
+#ifdef yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
@@ -1311,10 +1298,14 @@ yysetstate:
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yystacksize);
+
yyss = yyss1;
yyvs = yyvs1;
}
-# else /* defined YYSTACK_RELOCATE */
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
@@ -1330,33 +1321,35 @@ yysetstate:
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
+#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
-#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
-
/*-----------.
| yybackup. |
`-----------*/
yybackup:
+
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
@@ -1414,6 +1407,7 @@ yybackup:
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
+
goto yynewstate;
@@ -1428,7 +1422,7 @@ yydefault:
/*-----------------------------.
-| yyreduce -- do a reduction. |
+| yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
@@ -1448,70 +1442,70 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 4:
-#line 192 "getdate.y"
+ case 4:
+#line 192 "getdate.y" /* yacc.c:1646 */
{
yyHaveTime++;
}
-#line 1457 "getdate.c"
+#line 1451 "getdate.c" /* yacc.c:1646 */
break;
case 5:
-#line 195 "getdate.y"
+#line 195 "getdate.y" /* yacc.c:1646 */
{
yyHaveZone++;
}
-#line 1465 "getdate.c"
+#line 1459 "getdate.c" /* yacc.c:1646 */
break;
case 6:
-#line 198 "getdate.y"
+#line 198 "getdate.y" /* yacc.c:1646 */
{
yyHaveDate++;
}
-#line 1473 "getdate.c"
+#line 1467 "getdate.c" /* yacc.c:1646 */
break;
case 7:
-#line 201 "getdate.y"
+#line 201 "getdate.y" /* yacc.c:1646 */
{
yyHaveDay++;
}
-#line 1481 "getdate.c"
+#line 1475 "getdate.c" /* yacc.c:1646 */
break;
case 8:
-#line 204 "getdate.y"
+#line 204 "getdate.y" /* yacc.c:1646 */
{
yyHaveRel++;
}
-#line 1489 "getdate.c"
+#line 1483 "getdate.c" /* yacc.c:1646 */
break;
case 10:
-#line 210 "getdate.y"
+#line 210 "getdate.y" /* yacc.c:1646 */
{
yyHour = (yyvsp[-1].Number);
yyMinutes = 0;
yySeconds = 0;
yyMeridian = (yyvsp[0].Meridian);
}
-#line 1500 "getdate.c"
+#line 1494 "getdate.c" /* yacc.c:1646 */
break;
case 11:
-#line 216 "getdate.y"
+#line 216 "getdate.y" /* yacc.c:1646 */
{
yyHour = (yyvsp[-3].Number);
yyMinutes = (yyvsp[-1].Number);
yySeconds = 0;
yyMeridian = (yyvsp[0].Meridian);
}
-#line 1511 "getdate.c"
+#line 1505 "getdate.c" /* yacc.c:1646 */
break;
case 12:
-#line 222 "getdate.y"
+#line 222 "getdate.y" /* yacc.c:1646 */
{
yyHour = (yyvsp[-3].Number);
yyMinutes = (yyvsp[-1].Number);
@@ -1521,22 +1515,22 @@ yyreduce:
? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60
: - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60));
}
-#line 1525 "getdate.c"
+#line 1519 "getdate.c" /* yacc.c:1646 */
break;
case 13:
-#line 231 "getdate.y"
+#line 231 "getdate.y" /* yacc.c:1646 */
{
yyHour = (yyvsp[-5].Number);
yyMinutes = (yyvsp[-3].Number);
yySeconds = (yyvsp[-1].Number);
yyMeridian = (yyvsp[0].Meridian);
}
-#line 1536 "getdate.c"
+#line 1530 "getdate.c" /* yacc.c:1646 */
break;
case 14:
-#line 237 "getdate.y"
+#line 237 "getdate.y" /* yacc.c:1646 */
{
yyHour = (yyvsp[-5].Number);
yyMinutes = (yyvsp[-3].Number);
@@ -1547,71 +1541,71 @@ yyreduce:
? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60
: - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60));
}
-#line 1551 "getdate.c"
+#line 1545 "getdate.c" /* yacc.c:1646 */
break;
case 15:
-#line 249 "getdate.y"
+#line 249 "getdate.y" /* yacc.c:1646 */
{
yyTimezone = (yyvsp[0].Number);
}
-#line 1559 "getdate.c"
+#line 1553 "getdate.c" /* yacc.c:1646 */
break;
case 16:
-#line 252 "getdate.y"
+#line 252 "getdate.y" /* yacc.c:1646 */
{
yyTimezone = (yyvsp[0].Number) - 60;
}
-#line 1567 "getdate.c"
+#line 1561 "getdate.c" /* yacc.c:1646 */
break;
case 17:
-#line 256 "getdate.y"
+#line 256 "getdate.y" /* yacc.c:1646 */
{
yyTimezone = (yyvsp[-1].Number) - 60;
}
-#line 1575 "getdate.c"
+#line 1569 "getdate.c" /* yacc.c:1646 */
break;
case 18:
-#line 261 "getdate.y"
+#line 261 "getdate.y" /* yacc.c:1646 */
{
yyDayOrdinal = 1;
yyDayNumber = (yyvsp[0].Number);
}
-#line 1584 "getdate.c"
+#line 1578 "getdate.c" /* yacc.c:1646 */
break;
case 19:
-#line 265 "getdate.y"
+#line 265 "getdate.y" /* yacc.c:1646 */
{
yyDayOrdinal = 1;
yyDayNumber = (yyvsp[-1].Number);
}
-#line 1593 "getdate.c"
+#line 1587 "getdate.c" /* yacc.c:1646 */
break;
case 20:
-#line 269 "getdate.y"
+#line 269 "getdate.y" /* yacc.c:1646 */
{
yyDayOrdinal = (yyvsp[-1].Number);
yyDayNumber = (yyvsp[0].Number);
}
-#line 1602 "getdate.c"
+#line 1596 "getdate.c" /* yacc.c:1646 */
break;
case 21:
-#line 275 "getdate.y"
+#line 275 "getdate.y" /* yacc.c:1646 */
{
yyMonth = (yyvsp[-2].Number);
yyDay = (yyvsp[0].Number);
}
-#line 1611 "getdate.c"
+#line 1605 "getdate.c" /* yacc.c:1646 */
break;
case 22:
-#line 279 "getdate.y"
+#line 279 "getdate.y" /* yacc.c:1646 */
{
/* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY.
The goal in recognizing YYYY/MM/DD is solely to support legacy
@@ -1630,71 +1624,71 @@ yyreduce:
yyYear = (yyvsp[0].Number);
}
}
-#line 1634 "getdate.c"
+#line 1628 "getdate.c" /* yacc.c:1646 */
break;
case 23:
-#line 297 "getdate.y"
+#line 297 "getdate.y" /* yacc.c:1646 */
{
/* ISO 8601 format. yyyy-mm-dd. */
yyYear = (yyvsp[-2].Number);
yyMonth = -(yyvsp[-1].Number);
yyDay = -(yyvsp[0].Number);
}
-#line 1645 "getdate.c"
+#line 1639 "getdate.c" /* yacc.c:1646 */
break;
case 24:
-#line 303 "getdate.y"
+#line 303 "getdate.y" /* yacc.c:1646 */
{
/* e.g. 17-JUN-1992. */
yyDay = (yyvsp[-2].Number);
yyMonth = (yyvsp[-1].Number);
yyYear = -(yyvsp[0].Number);
}
-#line 1656 "getdate.c"
+#line 1650 "getdate.c" /* yacc.c:1646 */
break;
case 25:
-#line 309 "getdate.y"
+#line 309 "getdate.y" /* yacc.c:1646 */
{
yyMonth = (yyvsp[-1].Number);
yyDay = (yyvsp[0].Number);
}
-#line 1665 "getdate.c"
+#line 1659 "getdate.c" /* yacc.c:1646 */
break;
case 26:
-#line 313 "getdate.y"
+#line 313 "getdate.y" /* yacc.c:1646 */
{
yyMonth = (yyvsp[-3].Number);
yyDay = (yyvsp[-2].Number);
yyYear = (yyvsp[0].Number);
}
-#line 1675 "getdate.c"
+#line 1669 "getdate.c" /* yacc.c:1646 */
break;
case 27:
-#line 318 "getdate.y"
+#line 318 "getdate.y" /* yacc.c:1646 */
{
yyMonth = (yyvsp[0].Number);
yyDay = (yyvsp[-1].Number);
}
-#line 1684 "getdate.c"
+#line 1678 "getdate.c" /* yacc.c:1646 */
break;
case 28:
-#line 322 "getdate.y"
+#line 322 "getdate.y" /* yacc.c:1646 */
{
yyMonth = (yyvsp[-1].Number);
yyDay = (yyvsp[-2].Number);
yyYear = (yyvsp[0].Number);
}
-#line 1694 "getdate.c"
+#line 1688 "getdate.c" /* yacc.c:1646 */
break;
case 29:
-#line 329 "getdate.y"
+#line 329 "getdate.y" /* yacc.c:1646 */
{
yyRelSeconds = -yyRelSeconds;
yyRelMinutes = -yyRelMinutes;
@@ -1703,155 +1697,155 @@ yyreduce:
yyRelMonth = -yyRelMonth;
yyRelYear = -yyRelYear;
}
-#line 1707 "getdate.c"
+#line 1701 "getdate.c" /* yacc.c:1646 */
break;
case 31:
-#line 340 "getdate.y"
+#line 340 "getdate.y" /* yacc.c:1646 */
{
yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1715 "getdate.c"
+#line 1709 "getdate.c" /* yacc.c:1646 */
break;
case 32:
-#line 343 "getdate.y"
+#line 343 "getdate.y" /* yacc.c:1646 */
{
yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1723 "getdate.c"
+#line 1717 "getdate.c" /* yacc.c:1646 */
break;
case 33:
-#line 346 "getdate.y"
+#line 346 "getdate.y" /* yacc.c:1646 */
{
yyRelYear++;
}
-#line 1731 "getdate.c"
+#line 1725 "getdate.c" /* yacc.c:1646 */
break;
case 34:
-#line 349 "getdate.y"
+#line 349 "getdate.y" /* yacc.c:1646 */
{
yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1739 "getdate.c"
+#line 1733 "getdate.c" /* yacc.c:1646 */
break;
case 35:
-#line 352 "getdate.y"
+#line 352 "getdate.y" /* yacc.c:1646 */
{
yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1747 "getdate.c"
+#line 1741 "getdate.c" /* yacc.c:1646 */
break;
case 36:
-#line 355 "getdate.y"
+#line 355 "getdate.y" /* yacc.c:1646 */
{
yyRelMonth++;
}
-#line 1755 "getdate.c"
+#line 1749 "getdate.c" /* yacc.c:1646 */
break;
case 37:
-#line 358 "getdate.y"
+#line 358 "getdate.y" /* yacc.c:1646 */
{
yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1763 "getdate.c"
+#line 1757 "getdate.c" /* yacc.c:1646 */
break;
case 38:
-#line 361 "getdate.y"
+#line 361 "getdate.y" /* yacc.c:1646 */
{
yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1771 "getdate.c"
+#line 1765 "getdate.c" /* yacc.c:1646 */
break;
case 39:
-#line 364 "getdate.y"
+#line 364 "getdate.y" /* yacc.c:1646 */
{
yyRelDay++;
}
-#line 1779 "getdate.c"
+#line 1773 "getdate.c" /* yacc.c:1646 */
break;
case 40:
-#line 367 "getdate.y"
+#line 367 "getdate.y" /* yacc.c:1646 */
{
yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1787 "getdate.c"
+#line 1781 "getdate.c" /* yacc.c:1646 */
break;
case 41:
-#line 370 "getdate.y"
+#line 370 "getdate.y" /* yacc.c:1646 */
{
yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1795 "getdate.c"
+#line 1789 "getdate.c" /* yacc.c:1646 */
break;
case 42:
-#line 373 "getdate.y"
+#line 373 "getdate.y" /* yacc.c:1646 */
{
yyRelHour++;
}
-#line 1803 "getdate.c"
+#line 1797 "getdate.c" /* yacc.c:1646 */
break;
case 43:
-#line 376 "getdate.y"
+#line 376 "getdate.y" /* yacc.c:1646 */
{
yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1811 "getdate.c"
+#line 1805 "getdate.c" /* yacc.c:1646 */
break;
case 44:
-#line 379 "getdate.y"
+#line 379 "getdate.y" /* yacc.c:1646 */
{
yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1819 "getdate.c"
+#line 1813 "getdate.c" /* yacc.c:1646 */
break;
case 45:
-#line 382 "getdate.y"
+#line 382 "getdate.y" /* yacc.c:1646 */
{
yyRelMinutes++;
}
-#line 1827 "getdate.c"
+#line 1821 "getdate.c" /* yacc.c:1646 */
break;
case 46:
-#line 385 "getdate.y"
+#line 385 "getdate.y" /* yacc.c:1646 */
{
yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1835 "getdate.c"
+#line 1829 "getdate.c" /* yacc.c:1646 */
break;
case 47:
-#line 388 "getdate.y"
+#line 388 "getdate.y" /* yacc.c:1646 */
{
yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number);
}
-#line 1843 "getdate.c"
+#line 1837 "getdate.c" /* yacc.c:1646 */
break;
case 48:
-#line 391 "getdate.y"
+#line 391 "getdate.y" /* yacc.c:1646 */
{
yyRelSeconds++;
}
-#line 1851 "getdate.c"
+#line 1845 "getdate.c" /* yacc.c:1646 */
break;
case 49:
-#line 397 "getdate.y"
+#line 397 "getdate.y" /* yacc.c:1646 */
{
if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0))
yyYear = (yyvsp[0].Number);
@@ -1882,28 +1876,27 @@ yyreduce:
}
}
}
-#line 1886 "getdate.c"
+#line 1880 "getdate.c" /* yacc.c:1646 */
break;
case 50:
-#line 430 "getdate.y"
+#line 430 "getdate.y" /* yacc.c:1646 */
{
(yyval.Meridian) = MER24;
}
-#line 1894 "getdate.c"
+#line 1888 "getdate.c" /* yacc.c:1646 */
break;
case 51:
-#line 434 "getdate.y"
+#line 434 "getdate.y" /* yacc.c:1646 */
{
(yyval.Meridian) = (yyvsp[0].Meridian);
}
-#line 1902 "getdate.c"
+#line 1896 "getdate.c" /* yacc.c:1646 */
break;
-#line 1906 "getdate.c"
-
+#line 1900 "getdate.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -1928,13 +1921,14 @@ yyreduce:
/* 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. */
- {
- const int yylhs = yyr1[yyn] - YYNTOKENS;
- const int yyi = yypgoto[yylhs] + *yyssp;
- yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
- ? yytable[yyi]
- : yydefgoto[yylhs]);
- }
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
goto yynewstate;
@@ -2017,10 +2011,12 @@ yyerrlab:
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
- /* Pacify compilers when the user code never invokes YYERROR and the
- label yyerrorlab therefore never appears in user code. */
- if (0)
- YYERROR;
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -2082,7 +2078,6 @@ yyacceptlab:
yyresult = 0;
goto yyreturn;
-
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
@@ -2090,7 +2085,6 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
@@ -2101,10 +2095,6 @@ yyexhaustedlab:
/* Fall through. */
#endif
-
-/*-----------------------------------------------------.
-| yyreturn -- parsing is finished, return the result. |
-`-----------------------------------------------------*/
yyreturn:
if (yychar != YYEMPTY)
{
@@ -2134,7 +2124,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 439 "getdate.y"
+#line 439 "getdate.y" /* yacc.c:1906 */
/* Month and day table. */
diff --git a/libmisc/gettime.c b/libmisc/gettime.c
index 0e25a4b7..e882300c 100644
--- a/libmisc/gettime.c
+++ b/libmisc/gettime.c
@@ -61,23 +61,23 @@
epoch = strtoull (source_date_epoch, &endptr, 10);
if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
|| (errno != 0 && epoch == 0)) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n"),
strerror(errno));
} else if (endptr == source_date_epoch) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n"),
endptr);
} else if (*endptr != '\0') {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n"),
endptr);
} else if (epoch > ULONG_MAX) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu\n"),
ULONG_MAX, epoch);
} else if (epoch > fallback) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to the current time (%lu) but was found to be: %llu\n"),
fallback, epoch);
} else {
diff --git a/libmisc/idmapping.c b/libmisc/idmapping.c
index aea94936..3324f671 100644
--- a/libmisc/idmapping.c
+++ b/libmisc/idmapping.c
@@ -36,8 +36,8 @@
#include <stdio.h>
#include "prototypes.h"
#include "idmapping.h"
-#include <sys/prctl.h>
#if HAVE_SYS_CAPABILITY_H
+#include <sys/prctl.h>
#include <sys/capability.h>
#endif
@@ -47,19 +47,19 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
int idx, argidx;
if (ranges < 0 || argc < 0) {
- fprintf(stderr, "%s: error calculating number of arguments\n", Prog);
+ fprintf(shadow_logfd, "%s: error calculating number of arguments\n", Prog);
return NULL;
}
if (ranges != ((argc + 2) / 3)) {
- fprintf(stderr, "%s: ranges: %u is wrong for argc: %d\n", Prog, ranges, argc);
+ fprintf(shadow_logfd, "%s: ranges: %u is wrong for argc: %d\n", Prog, ranges, argc);
return NULL;
}
if ((ranges * 3) > argc) {
- fprintf(stderr, "ranges: %u argc: %d\n",
+ fprintf(shadow_logfd, "ranges: %u argc: %d\n",
ranges, argc);
- fprintf(stderr,
+ fprintf(shadow_logfd,
_( "%s: Not enough arguments to form %u mappings\n"),
Prog, ranges);
return NULL;
@@ -67,7 +67,7 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
mappings = calloc(ranges, sizeof(*mappings));
if (!mappings) {
- fprintf(stderr, _( "%s: Memory allocation failure\n"),
+ fprintf(shadow_logfd, _( "%s: Memory allocation failure\n"),
Prog);
exit(EXIT_FAILURE);
}
@@ -88,24 +88,24 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
return NULL;
}
if (ULONG_MAX - mapping->upper <= mapping->count || ULONG_MAX - mapping->lower <= mapping->count) {
- fprintf(stderr, _( "%s: subuid overflow detected.\n"), Prog);
+ fprintf(shadow_logfd, _( "%s: subuid overflow detected.\n"), Prog);
exit(EXIT_FAILURE);
}
if (mapping->upper > UINT_MAX ||
mapping->lower > UINT_MAX ||
mapping->count > UINT_MAX) {
- fprintf(stderr, _( "%s: subuid overflow detected.\n"), Prog);
+ fprintf(shadow_logfd, _( "%s: subuid overflow detected.\n"), Prog);
exit(EXIT_FAILURE);
}
if (mapping->lower + mapping->count > UINT_MAX ||
mapping->upper + mapping->count > UINT_MAX) {
- fprintf(stderr, _( "%s: subuid overflow detected.\n"), Prog);
+ fprintf(shadow_logfd, _( "%s: subuid overflow detected.\n"), Prog);
exit(EXIT_FAILURE);
}
if (mapping->lower + mapping->count < mapping->lower ||
mapping->upper + mapping->count < mapping->upper) {
/* this one really shouldn't be possible given previous checks */
- fprintf(stderr, _( "%s: subuid overflow detected.\n"), Prog);
+ fprintf(shadow_logfd, _( "%s: subuid overflow detected.\n"), Prog);
exit(EXIT_FAILURE);
}
}
@@ -123,6 +123,25 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
*/
#define ULONG_DIGITS ((((sizeof(unsigned long) * CHAR_BIT) + 9)/10)*3)
+#if HAVE_SYS_CAPABILITY_H
+static inline bool maps_lower_root(int cap, int ranges, struct map_range *mappings)
+{
+ int idx;
+ struct map_range *mapping;
+
+ if (cap != CAP_SETUID)
+ return false;
+
+ mapping = mappings;
+ for (idx = 0; idx < ranges; idx++, mapping++) {
+ if (mapping->lower == 0)
+ return true;
+ }
+
+ return false;
+}
+#endif
+
/*
* The ruid refers to the caller's uid and is used to reset the effective uid
* back to the callers real uid.
@@ -157,19 +176,19 @@ void write_mapping(int proc_dir_fd, int ranges, struct map_range *mappings,
} else if (strcmp(map_file, "gid_map") == 0) {
cap = CAP_SETGID;
} else {
- fprintf(stderr, _("%s: Invalid map file %s specified\n"), Prog, map_file);
+ fprintf(shadow_logfd, _("%s: Invalid map file %s specified\n"), Prog, map_file);
exit(EXIT_FAILURE);
}
/* Align setuid- and fscaps-based new{g,u}idmap behavior. */
if (geteuid() == 0 && geteuid() != ruid) {
if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0) {
- fprintf(stderr, _("%s: Could not prctl(PR_SET_KEEPCAPS)\n"), Prog);
+ fprintf(shadow_logfd, _("%s: Could not prctl(PR_SET_KEEPCAPS)\n"), Prog);
exit(EXIT_FAILURE);
}
if (seteuid(ruid) < 0) {
- fprintf(stderr, _("%s: Could not seteuid to %d\n"), Prog, ruid);
+ fprintf(shadow_logfd, _("%s: Could not seteuid to %d\n"), Prog, ruid);
exit(EXIT_FAILURE);
}
}
@@ -177,9 +196,15 @@ void write_mapping(int proc_dir_fd, int ranges, struct map_range *mappings,
/* Lockdown new{g,u}idmap by dropping all unneeded capabilities. */
memset(data, 0, sizeof(data));
data[0].effective = CAP_TO_MASK(cap);
+ /*
+ * When uid 0 from the ancestor userns is supposed to be mapped into
+ * the child userns we need to retain CAP_SETFCAP.
+ */
+ if (maps_lower_root(cap, ranges, mappings))
+ data[0].effective |= CAP_TO_MASK(CAP_SETFCAP);
data[0].permitted = data[0].effective;
if (capset(&hdr, data) < 0) {
- fprintf(stderr, _("%s: Could not set caps\n"), Prog);
+ fprintf(shadow_logfd, _("%s: Could not set caps\n"), Prog);
exit(EXIT_FAILURE);
}
#endif
@@ -197,7 +222,7 @@ void write_mapping(int proc_dir_fd, int ranges, struct map_range *mappings,
mapping->lower,
mapping->count);
if ((written <= 0) || (written >= (bufsize - (pos - buf)))) {
- fprintf(stderr, _("%s: snprintf failed!\n"), Prog);
+ fprintf(shadow_logfd, _("%s: snprintf failed!\n"), Prog);
exit(EXIT_FAILURE);
}
pos += written;
@@ -206,14 +231,15 @@ void write_mapping(int proc_dir_fd, int ranges, struct map_range *mappings,
/* Write the mapping to the mapping file */
fd = openat(proc_dir_fd, map_file, O_WRONLY);
if (fd < 0) {
- fprintf(stderr, _("%s: open of %s failed: %s\n"),
+ fprintf(shadow_logfd, _("%s: open of %s failed: %s\n"),
Prog, map_file, strerror(errno));
exit(EXIT_FAILURE);
}
if (write(fd, buf, pos - buf) != (pos - buf)) {
- fprintf(stderr, _("%s: write to %s failed: %s\n"),
+ fprintf(shadow_logfd, _("%s: write to %s failed: %s\n"),
Prog, map_file, strerror(errno));
exit(EXIT_FAILURE);
}
close(fd);
+ free(buf);
}
diff --git a/libmisc/idmapping.h b/libmisc/idmapping.h
index 3f32db68..1a8efe68 100644
--- a/libmisc/idmapping.h
+++ b/libmisc/idmapping.h
@@ -40,5 +40,7 @@ extern struct map_range *get_map_ranges(int ranges, int argc, char **argv);
extern void write_mapping(int proc_dir_fd, int ranges,
struct map_range *mappings, const char *map_file, uid_t ruid);
+extern void nss_init(char *nsswitch_path);
+
#endif /* _ID_MAPPING_H_ */
diff --git a/libmisc/limits.c b/libmisc/limits.c
index f40e1716..31f738da 100644
--- a/libmisc/limits.c
+++ b/libmisc/limits.c
@@ -548,7 +548,7 @@ void setup_limits (const struct passwd *info)
#ifdef LIMITS
if (info->pw_uid != 0) {
if ((setup_user_limits (info->pw_name) & LOGIN_ERROR_LOGIN) != 0) {
- (void) fputs (_("Too many logins.\n"), stderr);
+ (void) fputs (_("Too many logins.\n"), shadow_logfd);
(void) sleep (2); /* XXX: Should be FAIL_DELAY */
exit (EXIT_FAILURE);
}
diff --git a/libmisc/list.c b/libmisc/list.c
index 2da734a7..8837fa12 100644
--- a/libmisc/list.c
+++ b/libmisc/list.c
@@ -241,6 +241,7 @@ bool is_on_list (char *const *list, const char *member)
if ('\0' == *members) {
*array = (char *) 0;
+ free (members);
return array;
}
diff --git a/libmisc/log.c b/libmisc/log.c
index eb84859e..68a9d7e2 100644
--- a/libmisc/log.c
+++ b/libmisc/log.c
@@ -100,9 +100,9 @@ void dolastlog (
ll_time = newlog.ll_time;
(void) time (&ll_time);
newlog.ll_time = ll_time;
- strncpy (newlog.ll_line, line, sizeof newlog.ll_line);
+ strncpy (newlog.ll_line, line, sizeof (newlog.ll_line) - 1);
#if HAVE_LL_HOST
- strncpy (newlog.ll_host, host, sizeof newlog.ll_host);
+ strncpy (newlog.ll_host, host, sizeof (newlog.ll_host) - 1);
#endif
if ( (lseek (fd, offset, SEEK_SET) != offset)
|| (write (fd, (const void *) &newlog, sizeof newlog) != (ssize_t) sizeof newlog)
diff --git a/libmisc/myname.c b/libmisc/myname.c
index 05efdad3..e1b7f702 100644
--- a/libmisc/myname.c
+++ b/libmisc/myname.c
@@ -62,6 +62,9 @@
if ((NULL != pw) && (pw->pw_uid == ruid)) {
return pw;
}
+ if (NULL != pw) {
+ pw_free (pw);
+ }
}
return xgetpwuid (ruid);
diff --git a/libmisc/obscure.c b/libmisc/obscure.c
index 15da7603..dc69f768 100644
--- a/libmisc/obscure.c
+++ b/libmisc/obscure.c
@@ -272,6 +272,9 @@ static /*@observer@*//*@null@*/const char *obscure_msg (
#ifdef USE_BCRYPT
|| (strcmp (result, "BCRYPT") == 0)
#endif
+#ifdef USE_YESCRYPT
+ || (strcmp (result, "YESCRYPT") == 0)
+#endif
) {
return NULL;
}
diff --git a/libmisc/pam_pass.c b/libmisc/pam_pass.c
index a89bb2c5..58a3d3f6 100644
--- a/libmisc/pam_pass.c
+++ b/libmisc/pam_pass.c
@@ -59,20 +59,20 @@ void do_pam_passwd (const char *user, bool silent, bool change_expired)
ret = pam_start ("passwd", user, &conv, &pamh);
if (ret != PAM_SUCCESS) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("passwd: pam_start() failed, error %d\n"), ret);
exit (10); /* XXX */
}
ret = pam_chauthtok (pamh, flags);
if (ret != PAM_SUCCESS) {
- fprintf (stderr, _("passwd: %s\n"), pam_strerror (pamh, ret));
- fputs (_("passwd: password unchanged\n"), stderr);
+ fprintf (shadow_logfd, _("passwd: %s\n"), pam_strerror (pamh, ret));
+ fputs (_("passwd: password unchanged\n"), shadow_logfd);
pam_end (pamh, ret);
exit (10); /* XXX */
}
- fputs (_("passwd: password updated successfully\n"), stderr);
+ fputs (_("passwd: password updated successfully\n"), shadow_logfd);
(void) pam_end (pamh, PAM_SUCCESS);
}
#else /* !USE_PAM */
diff --git a/libmisc/pam_pass_non_interactive.c b/libmisc/pam_pass_non_interactive.c
index ded5c69e..3c95c88c 100644
--- a/libmisc/pam_pass_non_interactive.c
+++ b/libmisc/pam_pass_non_interactive.c
@@ -76,7 +76,7 @@ static int ni_conv (int num_msg,
switch (msg[count]->msg_style) {
case PAM_PROMPT_ECHO_ON:
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: PAM modules requesting echoing are not supported.\n"),
Prog);
goto failed_conversation;
@@ -88,7 +88,7 @@ static int ni_conv (int num_msg,
break;
case PAM_ERROR_MSG:
if ( (NULL == msg[count]->msg)
- || (fprintf (stderr, "%s\n", msg[count]->msg) <0)) {
+ || (fprintf (shadow_logfd, "%s\n", msg[count]->msg) <0)) {
goto failed_conversation;
}
responses[count].resp = NULL;
@@ -101,7 +101,7 @@ static int ni_conv (int num_msg,
responses[count].resp = NULL;
break;
default:
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: conversation type %d not supported.\n"),
Prog, msg[count]->msg_style);
goto failed_conversation;
@@ -143,7 +143,7 @@ int do_pam_passwd_non_interactive (const char *pam_service,
ret = pam_start (pam_service, username, &non_interactive_pam_conv, &pamh);
if (ret != PAM_SUCCESS) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: (user %s) pam_start failure %d\n"),
Prog, username, ret);
return 1;
@@ -152,7 +152,7 @@ int do_pam_passwd_non_interactive (const char *pam_service,
non_interactive_password = password;
ret = pam_chauthtok (pamh, 0);
if (ret != PAM_SUCCESS) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: (user %s) pam_chauthtok() failed, error:\n"
"%s\n"),
Prog, username, pam_strerror (pamh, ret));
diff --git a/libmisc/prefix_flag.c b/libmisc/prefix_flag.c
index d72f7e39..2e455c40 100644
--- a/libmisc/prefix_flag.c
+++ b/libmisc/prefix_flag.c
@@ -74,25 +74,31 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char **
* Parse the command line options.
*/
int i;
- const char *prefix = NULL;
+ const char *prefix = NULL, *val;
for (i = 0; i < argc; i++) {
+ val = NULL;
if ( (strcmp (argv[i], "--prefix") == 0)
+ || ((strncmp (argv[i], "--prefix=", 9) == 0)
+ && (val = argv[i] + 9))
|| (strcmp (argv[i], short_opt) == 0)) {
if (NULL != prefix) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: multiple --prefix options\n"),
Prog);
exit (E_BAD_ARG);
}
- if (i + 1 == argc) {
- fprintf (stderr,
+ if (val) {
+ prefix = val;
+ } else if (i + 1 == argc) {
+ fprintf (shadow_logfd,
_("%s: option '%s' requires an argument\n"),
Prog, argv[i]);
exit (E_BAD_ARG);
+ } else {
+ prefix = argv[++ i];
}
- prefix = argv[i + 1];
}
}
@@ -103,6 +109,12 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char **
return ""; /* if prefix is "/" then we ignore the flag option */
/* should we prevent symbolic link from being used as a prefix? */
+ if ( prefix[0] != '/') {
+ fprintf (shadow_logfd,
+ _("%s: prefix must be an absolute path\n"),
+ Prog);
+ exit (E_BAD_ARG);
+ }
size_t len;
len = strlen(prefix) + strlen(PASSWD_FILE) + 2;
passwd_db_file = xmalloc(len);
diff --git a/libmisc/pwdcheck.c b/libmisc/pwdcheck.c
index ec1f4744..bc6b66f8 100644
--- a/libmisc/pwdcheck.c
+++ b/libmisc/pwdcheck.c
@@ -51,7 +51,7 @@ void passwd_check (const char *user, const char *passwd, unused const char *prog
if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) {
SYSLOG ((LOG_WARN, "incorrect password for `%s'", user));
(void) sleep (1);
- fprintf (stderr, _("Incorrect password for %s.\n"), user);
+ fprintf (shadow_logfd, _("Incorrect password for %s.\n"), user);
exit (EXIT_FAILURE);
}
}
diff --git a/libmisc/root_flag.c b/libmisc/root_flag.c
index 7f5e6110..e9a97d44 100644
--- a/libmisc/root_flag.c
+++ b/libmisc/root_flag.c
@@ -56,25 +56,31 @@ extern void process_root_flag (const char* short_opt, int argc, char **argv)
* Parse the command line options.
*/
int i;
- const char *newroot = NULL;
+ const char *newroot = NULL, *val;
for (i = 0; i < argc; i++) {
+ val = NULL;
if ( (strcmp (argv[i], "--root") == 0)
+ || ((strncmp (argv[i], "--root=", 7) == 0)
+ && (val = argv[i] + 7))
|| (strcmp (argv[i], short_opt) == 0)) {
if (NULL != newroot) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: multiple --root options\n"),
Prog);
exit (E_BAD_ARG);
}
- if (i + 1 == argc) {
- fprintf (stderr,
+ if (val) {
+ newroot = val;
+ } else if (i + 1 == argc) {
+ fprintf (shadow_logfd,
_("%s: option '%s' requires an argument\n"),
Prog, argv[i]);
exit (E_BAD_ARG);
+ } else {
+ newroot = argv[++ i];
}
- newroot = argv[i + 1];
}
}
@@ -88,34 +94,34 @@ static void change_root (const char* newroot)
/* Drop privileges */
if ( (setregid (getgid (), getgid ()) != 0)
|| (setreuid (getuid (), getuid ()) != 0)) {
- fprintf (stderr, _("%s: failed to drop privileges (%s)\n"),
+ fprintf (shadow_logfd, _("%s: failed to drop privileges (%s)\n"),
Prog, strerror (errno));
exit (EXIT_FAILURE);
}
if ('/' != newroot[0]) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: invalid chroot path '%s'\n"),
Prog, newroot);
exit (E_BAD_ARG);
}
if (access (newroot, F_OK) != 0) {
- fprintf(stderr,
+ fprintf(shadow_logfd,
_("%s: cannot access chroot directory %s: %s\n"),
Prog, newroot, strerror (errno));
exit (E_BAD_ARG);
}
if (chdir (newroot) != 0) {
- fprintf(stderr,
+ fprintf(shadow_logfd,
_("%s: cannot chdir to chroot directory %s: %s\n"),
Prog, newroot, strerror (errno));
exit (E_BAD_ARG);
}
if (chroot (newroot) != 0) {
- fprintf(stderr,
+ fprintf(shadow_logfd,
_("%s: unable to chroot to directory %s: %s\n"),
Prog, newroot, strerror (errno));
exit (E_BAD_ARG);
diff --git a/libmisc/salt.c b/libmisc/salt.c
index e1a7ac80..91d528fd 100644
--- a/libmisc/salt.c
+++ b/libmisc/salt.c
@@ -11,30 +11,100 @@
#ident "$Id$"
-#include <sys/time.h>
-#include <stdlib.h>
-#include <stdio.h>
#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#if HAVE_SYS_RANDOM_H
+#include <sys/random.h>
+#endif
#include "prototypes.h"
#include "defines.h"
#include "getdef.h"
+#if (defined CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY && \
+ CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY)
+#define USE_XCRYPT_GENSALT 1
+#else
+#define USE_XCRYPT_GENSALT 0
+#endif
+
+/* Add the salt prefix. */
+#define MAGNUM(array,ch) (array)[0]=(array)[2]='$',(array)[1]=(ch),(array)[3]='\0'
+
+#ifdef USE_BCRYPT
+/* Use $2b$ as prefix for compatibility with OpenBSD's bcrypt. */
+#define BCRYPTMAGNUM(array) (array)[0]=(array)[3]='$',(array)[1]='2',(array)[2]='b',(array)[4]='\0'
+#define BCRYPT_SALT_SIZE 22
+/* Default number of rounds if not explicitly specified. */
+#define B_ROUNDS_DEFAULT 13
+/* Minimum number of rounds. */
+#define B_ROUNDS_MIN 4
+/* Maximum number of rounds. */
+#define B_ROUNDS_MAX 31
+#endif /* USE_BCRYPT */
+
+#ifdef USE_SHA_CRYPT
+/* Fixed salt len for sha{256,512}crypt. */
+#define SHA_CRYPT_SALT_SIZE 16
+/* Default number of rounds if not explicitly specified. */
+#define SHA_ROUNDS_DEFAULT 5000
+/* Minimum number of rounds. */
+#define SHA_ROUNDS_MIN 1000
+/* Maximum number of rounds. */
+#define SHA_ROUNDS_MAX 999999999
+#endif
+
+#ifdef USE_YESCRYPT
+/*
+ * Default number of base64 characters used for the salt.
+ * 24 characters gives a 144 bits (18 bytes) salt. Unlike the more
+ * traditional 128 bits (16 bytes) salt, this 144 bits salt is always
+ * represented by the same number of base64 characters without padding
+ * issue, even with a non-standard base64 encoding scheme.
+ */
+#define YESCRYPT_SALT_SIZE 24
+/* Default cost if not explicitly specified. */
+#define Y_COST_DEFAULT 5
+/* Minimum cost. */
+#define Y_COST_MIN 1
+/* Maximum cost. */
+#define Y_COST_MAX 11
+#endif
+
+/* Fixed salt len for md5crypt. */
+#define MD5_CRYPT_SALT_SIZE 8
+
+/* Generate salt of size salt_size. */
+#define MAX_SALT_SIZE 44
+#define MIN_SALT_SIZE 8
+
+/* Maximum size of the generated salt string. */
+#define GENSALT_SETTING_SIZE 100
+
/* local function prototypes */
-static void seedRNG (void);
+static long read_random_bytes (void);
+#if !USE_XCRYPT_GENSALT
static /*@observer@*/const char *gensalt (size_t salt_size);
+#endif /* !USE_XCRYPT_GENSALT */
#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
static long shadow_random (long min, long max);
#endif /* USE_SHA_CRYPT || USE_BCRYPT */
#ifdef USE_SHA_CRYPT
-static /*@observer@*/const char *SHA_salt_rounds (/*@null@*/int *prefered_rounds);
+static /*@observer@*/const unsigned long SHA_get_salt_rounds (/*@null@*/int *prefered_rounds);
+static /*@observer@*/void SHA_salt_rounds_to_buf (char *buf, unsigned long rounds);
#endif /* USE_SHA_CRYPT */
#ifdef USE_BCRYPT
-static /*@observer@*/const char *gensalt_bcrypt (void);
-static /*@observer@*/const char *BCRYPT_salt_rounds (/*@null@*/int *prefered_rounds);
+static /*@observer@*/const unsigned long BCRYPT_get_salt_rounds (/*@null@*/int *prefered_rounds);
+static /*@observer@*/void BCRYPT_salt_rounds_to_buf (char *buf, unsigned long rounds);
#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+static /*@observer@*/const unsigned long YESCRYPT_get_salt_cost (/*@null@*/int *prefered_cost);
+static /*@observer@*/void YESCRYPT_salt_cost_to_buf (char *buf, unsigned long cost);
+#endif /* USE_YESCRYPT */
-#ifndef HAVE_L64A
-static /*@observer@*/char *l64a(long value)
+#if !USE_XCRYPT_GENSALT && !defined(HAVE_L64A)
+static /*@observer@*/char *l64a (long value)
{
static char buf[8];
char *s = buf;
@@ -65,40 +135,58 @@ static /*@observer@*/char *l64a(long value)
*s = '\0';
- return(buf);
+ return buf;
}
-#endif /* !HAVE_L64A */
+#endif /* !USE_XCRYPT_GENSALT && !defined(HAVE_L64A) */
-static void seedRNG (void)
+/* Read sizeof (long) random bytes from /dev/urandom. */
+static long read_random_bytes (void)
{
- struct timeval tv;
- static int seeded = 0;
+ long randval = 0;
+
+#ifdef HAVE_ARC4RANDOM_BUF
+ /* arc4random_buf, if it exists, can never fail. */
+ arc4random_buf (&randval, sizeof (randval));
+ goto end;
- if (0 == seeded) {
- (void) gettimeofday (&tv, NULL);
- srandom (tv.tv_sec ^ tv.tv_usec ^ getpid ());
- seeded = 1;
+#elif defined(HAVE_GETENTROPY)
+ /* getentropy may exist but lack kernel support. */
+ if (getentropy (&randval, sizeof (randval))) {
+ goto fail;
}
-}
-/*
- * Add the salt prefix.
- */
-#define MAGNUM(array,ch) (array)[0]=(array)[2]='$',(array)[1]=(ch),(array)[3]='\0'
-#ifdef USE_BCRYPT
-/*
- * Using the Prefix $2a$ to enable an anti-collision safety measure in musl libc.
- * Negatively affects a subset of passwords containing the '\xff' character,
- * which is not valid UTF-8 (so "unlikely to cause much annoyance").
- */
-#define BCRYPTMAGNUM(array) (array)[0]=(array)[3]='$',(array)[1]='2',(array)[2]='a',(array)[4]='\0'
-#endif /* USE_BCRYPT */
+ goto end;
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
-/* It is not clear what is the maximum value of random().
- * We assume 2^31-1.*/
-#define RANDOM_MAX 0x7FFFFFFF
+#elif defined(HAVE_GETRANDOM)
+ /* Likewise getrandom. */
+ if ((size_t) getrandom (&randval, sizeof (randval), 0) != sizeof (randval)) {
+ goto fail;
+ }
+
+ goto end;
+
+#else
+ FILE *f = fopen ("/dev/urandom", "r");
+ if (fread (&randval, sizeof (randval), 1, f) != 1) {
+ fclose(f);
+ goto fail;
+ }
+
+ fclose(f);
+ goto end;
+#endif
+
+fail:
+ fprintf (shadow_logfd,
+ _("Unable to obtain random bytes.\n"));
+ exit (1);
+
+end:
+ return randval;
+}
+
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
/*
* Return a random number between min and max (both included).
*
@@ -108,8 +196,9 @@ static long shadow_random (long min, long max)
{
double drand;
long ret;
- seedRNG ();
- drand = (double) (max - min + 1) * random () / RANDOM_MAX;
+
+ drand = (double) (read_random_bytes () & RAND_MAX) / (double) RAND_MAX;
+ drand *= (double) (max - min + 1);
/* On systems were this is not random() range is lower, we favor
* higher numbers of salt. */
ret = (long) (max + 1 - drand);
@@ -122,26 +211,17 @@ static long shadow_random (long min, long max)
#endif /* USE_SHA_CRYPT || USE_BCRYPT */
#ifdef USE_SHA_CRYPT
-/* Default number of rounds if not explicitly specified. */
-#define ROUNDS_DEFAULT 5000
-/* Minimum number of rounds. */
-#define ROUNDS_MIN 1000
-/* Maximum number of rounds. */
-#define ROUNDS_MAX 999999999
-/*
- * Return a salt prefix specifying the rounds number for the SHA crypt methods.
- */
-static /*@observer@*/const char *SHA_salt_rounds (/*@null@*/int *prefered_rounds)
+/* Return the the rounds number for the SHA crypt methods. */
+static /*@observer@*/const unsigned long SHA_get_salt_rounds (/*@null@*/int *prefered_rounds)
{
- static char rounds_prefix[18]; /* Max size: rounds=999999999$ */
- long rounds;
+ unsigned long rounds;
if (NULL == prefered_rounds) {
long min_rounds = getdef_long ("SHA_CRYPT_MIN_ROUNDS", -1);
long max_rounds = getdef_long ("SHA_CRYPT_MAX_ROUNDS", -1);
if ((-1 == min_rounds) && (-1 == max_rounds)) {
- return "";
+ rounds = SHA_ROUNDS_DEFAULT;
}
if (-1 == min_rounds) {
@@ -156,137 +236,208 @@ static /*@observer@*/const char *SHA_salt_rounds (/*@null@*/int *prefered_rounds
max_rounds = min_rounds;
}
- rounds = shadow_random (min_rounds, max_rounds);
+ rounds = (unsigned long) shadow_random (min_rounds, max_rounds);
} else if (0 == *prefered_rounds) {
- return "";
+ rounds = SHA_ROUNDS_DEFAULT;
} else {
- rounds = *prefered_rounds;
+ rounds = (unsigned long) *prefered_rounds;
}
/* Sanity checks. The libc should also check this, but this
* protects against a rounds_prefix overflow. */
- if (rounds < ROUNDS_MIN) {
- rounds = ROUNDS_MIN;
+ if (rounds < SHA_ROUNDS_MIN) {
+ rounds = SHA_ROUNDS_MIN;
}
- if (rounds > ROUNDS_MAX) {
- rounds = ROUNDS_MAX;
+ if (rounds > SHA_ROUNDS_MAX) {
+ rounds = SHA_ROUNDS_MAX;
}
- (void) snprintf (rounds_prefix, sizeof rounds_prefix,
- "rounds=%ld$", rounds);
+ return rounds;
+}
+
+/*
+ * Fill a salt prefix specifying the rounds number for the SHA crypt methods
+ * to a buffer.
+ */
+static /*@observer@*/void SHA_salt_rounds_to_buf (char *buf, unsigned long rounds)
+{
+ const size_t buf_begin = strlen (buf);
+
+ /* Nothing to do here if SHA_ROUNDS_DEFAULT is used. */
+ if (rounds == SHA_ROUNDS_DEFAULT) {
+ return;
+ }
+
+ /*
+ * Check if the result buffer is long enough.
+ * We are going to write a maximum of 17 bytes,
+ * plus one byte for the terminator.
+ * rounds=XXXXXXXXX$
+ * 00000000011111111
+ * 12345678901234567
+ */
+ assert (GENSALT_SETTING_SIZE > buf_begin + 17);
- return rounds_prefix;
+ (void) snprintf (buf + buf_begin, 18, "rounds=%lu$", rounds);
}
#endif /* USE_SHA_CRYPT */
#ifdef USE_BCRYPT
-/* Default number of rounds if not explicitly specified. */
-#define B_ROUNDS_DEFAULT 13
-/* Minimum number of rounds. */
-#define B_ROUNDS_MIN 4
-/* Maximum number of rounds. */
-#define B_ROUNDS_MAX 31
-/*
- * Return a salt prefix specifying the rounds number for the BCRYPT method.
- */
-static /*@observer@*/const char *BCRYPT_salt_rounds (/*@null@*/int *prefered_rounds)
+/* Return the the rounds number for the BCRYPT method. */
+static /*@observer@*/const unsigned long BCRYPT_get_salt_rounds (/*@null@*/int *prefered_rounds)
{
- static char rounds_prefix[4]; /* Max size: 31$ */
- long rounds;
+ unsigned long rounds;
if (NULL == prefered_rounds) {
long min_rounds = getdef_long ("BCRYPT_MIN_ROUNDS", -1);
long max_rounds = getdef_long ("BCRYPT_MAX_ROUNDS", -1);
- if (((-1 == min_rounds) && (-1 == max_rounds)) || (0 == *prefered_rounds)) {
+ if ((-1 == min_rounds) && (-1 == max_rounds)) {
rounds = B_ROUNDS_DEFAULT;
- }
- else {
+ } else {
if (-1 == min_rounds) {
min_rounds = max_rounds;
}
-
+
if (-1 == max_rounds) {
max_rounds = min_rounds;
}
-
+
if (min_rounds > max_rounds) {
max_rounds = min_rounds;
}
-
- rounds = shadow_random (min_rounds, max_rounds);
+
+ rounds = (unsigned long) shadow_random (min_rounds, max_rounds);
}
+ } else if (0 == *prefered_rounds) {
+ rounds = B_ROUNDS_DEFAULT;
} else {
- rounds = *prefered_rounds;
+ rounds = (unsigned long) *prefered_rounds;
}
- /*
- * Sanity checks.
- * Use 19 as an upper bound for now,
- * because musl doesn't allow rounds >= 20.
- */
+ /* Sanity checks. */
if (rounds < B_ROUNDS_MIN) {
rounds = B_ROUNDS_MIN;
}
+#if USE_XCRYPT_GENSALT
+ if (rounds > B_ROUNDS_MAX) {
+ rounds = B_ROUNDS_MAX;
+ }
+#else /* USE_XCRYPT_GENSALT */
+ /*
+ * Use 19 as an upper bound for now,
+ * because musl doesn't allow rounds >= 20.
+ */
if (rounds > 19) {
/* rounds = B_ROUNDS_MAX; */
rounds = 19;
}
+#endif /* USE_XCRYPT_GENSALT */
- (void) snprintf (rounds_prefix, sizeof rounds_prefix,
- "%2.2ld$", rounds);
-
- return rounds_prefix;
+ return rounds;
}
-#define BCRYPT_SALT_SIZE 22
/*
- * Generate a 22 character salt string for bcrypt.
+ * Fill a salt prefix specifying the rounds number for the BCRYPT method
+ * to a buffer.
*/
-static /*@observer@*/const char *gensalt_bcrypt (void)
+static /*@observer@*/void BCRYPT_salt_rounds_to_buf (char *buf, unsigned long rounds)
{
- static char salt[32];
+ const size_t buf_begin = strlen (buf);
- salt[0] = '\0';
+ /*
+ * Check if the result buffer is long enough.
+ * We are going to write three bytes,
+ * plus one byte for the terminator.
+ * XX$
+ * 000
+ * 123
+ */
+ assert (GENSALT_SETTING_SIZE > buf_begin + 3);
- seedRNG ();
- strcat (salt, l64a (random()));
- do {
- strcat (salt, l64a (random()));
- } while (strlen (salt) < BCRYPT_SALT_SIZE);
+ (void) snprintf (buf + buf_begin, 4, "%2.2lu$", rounds);
+}
+#endif /* USE_BCRYPT */
- salt[BCRYPT_SALT_SIZE] = '\0';
+#ifdef USE_YESCRYPT
+/* Return the the cost number for the YESCRYPT method. */
+static /*@observer@*/const unsigned long YESCRYPT_get_salt_cost (/*@null@*/int *prefered_cost)
+{
+ unsigned long cost;
- return salt;
+ if (NULL == prefered_cost) {
+ cost = getdef_num ("YESCRYPT_COST_FACTOR", Y_COST_DEFAULT);
+ } else if (0 == *prefered_cost) {
+ cost = Y_COST_DEFAULT;
+ } else {
+ cost = (unsigned long) *prefered_cost;
+ }
+
+ /* Sanity checks. */
+ if (cost < Y_COST_MIN) {
+ cost = Y_COST_MIN;
+ }
+
+ if (cost > Y_COST_MAX) {
+ cost = Y_COST_MAX;
+ }
+
+ return cost;
}
-#endif /* USE_BCRYPT */
/*
- * Generate salt of size salt_size.
+ * Fill a salt prefix specifying the cost for the YESCRYPT method
+ * to a buffer.
*/
-#define MAX_SALT_SIZE 16
-#define MIN_SALT_SIZE 8
+static /*@observer@*/void YESCRYPT_salt_cost_to_buf (char *buf, unsigned long cost)
+{
+ const size_t buf_begin = strlen (buf);
+
+ /*
+ * Check if the result buffer is long enough.
+ * We are going to write four bytes,
+ * plus one byte for the terminator.
+ * jXX$
+ * 0000
+ * 1234
+ */
+ assert (GENSALT_SETTING_SIZE > buf_begin + 4);
+ buf[buf_begin + 0] = 'j';
+ if (cost < 3) {
+ buf[buf_begin + 1] = 0x36 + cost;
+ } else if (cost < 6) {
+ buf[buf_begin + 1] = 0x34 + cost;
+ } else {
+ buf[buf_begin + 1] = 0x3b + cost;
+ }
+ buf[buf_begin + 2] = cost >= 3 ? 'T' : '5';
+ buf[buf_begin + 3] = '$';
+ buf[buf_begin + 4] = '\0';
+}
+#endif /* USE_YESCRYPT */
+
+#if !USE_XCRYPT_GENSALT
static /*@observer@*/const char *gensalt (size_t salt_size)
{
- static char salt[32];
+ static char salt[MAX_SALT_SIZE + 6];
- salt[0] = '\0';
+ memset (salt, '\0', MAX_SALT_SIZE + 6);
assert (salt_size >= MIN_SALT_SIZE &&
salt_size <= MAX_SALT_SIZE);
- seedRNG ();
- strcat (salt, l64a (random()));
+ strcat (salt, l64a (read_random_bytes ()));
do {
- strcat (salt, l64a (random()));
+ strcat (salt, l64a (read_random_bytes ()));
} while (strlen (salt) < salt_size);
salt[salt_size] = '\0';
return salt;
}
+#endif /* !USE_XCRYPT_GENSALT */
/*
* Generate 8 base64 ASCII characters of random salt. If MD5_CRYPT_ENAB
@@ -296,26 +447,23 @@ static /*@observer@*/const char *gensalt (size_t salt_size)
* Other methods can be set with ENCRYPT_METHOD
*
* The method can be forced with the meth parameter.
- * If NULL, the method will be defined according to the MD5_CRYPT_ENAB and
- * ENCRYPT_METHOD login.defs variables.
+ * If NULL, the method will be defined according to the ENCRYPT_METHOD
+ * variable, and if not set according to the MD5_CRYPT_ENAB variable,
+ * which can both be set inside the login.defs file.
*
* If meth is specified, an additional parameter can be provided.
* * For the SHA256 and SHA512 method, this specifies the number of rounds
* (if not NULL).
+ * * For the YESCRYPT method, this specifies the cost factor (if not NULL).
*/
/*@observer@*/const char *crypt_make_salt (/*@null@*//*@observer@*/const char *meth, /*@null@*/void *arg)
{
- /* Max result size for the SHA methods:
- * +3 $5$
- * +17 rounds=999999999$
- * +16 salt
- * +1 \0
- */
- static char result[40];
- size_t salt_len = 8;
+ static char result[GENSALT_SETTING_SIZE];
+ size_t salt_len = MAX_SALT_SIZE;
const char *method;
+ unsigned long rounds = 0;
- result[0] = '\0';
+ memset (result, '\0', GENSALT_SETTING_SIZE);
if (NULL != meth)
method = meth;
@@ -328,46 +476,80 @@ static /*@observer@*/const char *gensalt (size_t salt_size)
if (0 == strcmp (method, "MD5")) {
MAGNUM(result, '1');
+ salt_len = MD5_CRYPT_SALT_SIZE;
+ rounds = 0;
#ifdef USE_BCRYPT
} else if (0 == strcmp (method, "BCRYPT")) {
BCRYPTMAGNUM(result);
- strcat(result, BCRYPT_salt_rounds((int *)arg));
+ salt_len = BCRYPT_SALT_SIZE;
+ rounds = BCRYPT_get_salt_rounds ((int *) arg);
+ BCRYPT_salt_rounds_to_buf (result, rounds);
#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+ } else if (0 == strcmp (method, "YESCRYPT")) {
+ MAGNUM(result, 'y');
+ salt_len = YESCRYPT_SALT_SIZE;
+ rounds = YESCRYPT_get_salt_cost ((int *) arg);
+ YESCRYPT_salt_cost_to_buf (result, rounds);
+#endif /* USE_YESCRYPT */
#ifdef USE_SHA_CRYPT
} else if (0 == strcmp (method, "SHA256")) {
MAGNUM(result, '5');
- strcat(result, SHA_salt_rounds((int *)arg));
- salt_len = (size_t) shadow_random (8, 16);
+ salt_len = SHA_CRYPT_SALT_SIZE;
+ rounds = SHA_get_salt_rounds ((int *) arg);
+ SHA_salt_rounds_to_buf (result, rounds);
} else if (0 == strcmp (method, "SHA512")) {
MAGNUM(result, '6');
- strcat(result, SHA_salt_rounds((int *)arg));
- salt_len = (size_t) shadow_random (8, 16);
+ salt_len = SHA_CRYPT_SALT_SIZE;
+ rounds = SHA_get_salt_rounds ((int *) arg);
+ SHA_salt_rounds_to_buf (result, rounds);
#endif /* USE_SHA_CRYPT */
} else if (0 != strcmp (method, "DES")) {
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"),
method);
- result[0] = '\0';
+ salt_len = MAX_SALT_SIZE;
+ rounds = 0;
+ memset (result, '\0', GENSALT_SETTING_SIZE);
}
+#if USE_XCRYPT_GENSALT
/*
- * Concatenate a pseudo random salt.
+ * Prepare DES setting for crypt_gensalt(), if result
+ * has not been filled with anything previously.
*/
- assert (sizeof (result) > strlen (result) + salt_len);
-#ifdef USE_BCRYPT
- if (0 == strcmp (method, "BCRYPT")) {
- strncat (result, gensalt_bcrypt (),
- sizeof (result) - strlen (result) - 1);
- return result;
- } else {
-#endif /* USE_BCRYPT */
- strncat (result, gensalt (salt_len),
- sizeof (result) - strlen (result) - 1);
-#ifdef USE_BCRYPT
+ if ('\0' == result[0]) {
+ /* Avoid -Wunused-but-set-variable. */
+ salt_len = GENSALT_SETTING_SIZE - 1;
+ rounds = 0;
+ memset (result, '.', salt_len);
+ result[salt_len] = '\0';
}
-#endif /* USE_BCRYPT */
+
+ char *retval = crypt_gensalt (result, rounds, NULL, 0);
+
+ /* Should not happen, but... */
+ if (NULL == retval) {
+ fprintf (shadow_logfd,
+ _("Unable to generate a salt from setting "
+ "\"%s\", check your settings in "
+ "ENCRYPT_METHOD and the corresponding "
+ "configuration for your selected hash "
+ "method.\n"), result);
+
+ exit (1);
+ }
+
+ return retval;
+#else /* USE_XCRYPT_GENSALT */
+ /* Check if the result buffer is long enough. */
+ assert (GENSALT_SETTING_SIZE > strlen (result) + salt_len);
+
+ /* Concatenate a pseudo random salt. */
+ strncat (result, gensalt (salt_len),
+ GENSALT_SETTING_SIZE - strlen (result) - 1);
return result;
+#endif /* USE_XCRYPT_GENSALT */
}
-
diff --git a/libmisc/setupenv.c b/libmisc/setupenv.c
index 24c6e678..74b18723 100644
--- a/libmisc/setupenv.c
+++ b/libmisc/setupenv.c
@@ -219,7 +219,7 @@ void setup_env (struct passwd *info)
static char temp_pw_dir[] = "/";
if (!getdef_bool ("DEFAULT_HOME") || chdir ("/") == -1) {
- fprintf (stderr, _("Unable to cd to '%s'\n"),
+ fprintf (shadow_logfd, _("Unable to cd to '%s'\n"),
info->pw_dir);
SYSLOG ((LOG_WARN,
"unable to cd to `%s' for user `%s'\n",
diff --git a/libmisc/user_busy.c b/libmisc/user_busy.c
index 324bb946..3deebfc3 100644
--- a/libmisc/user_busy.c
+++ b/libmisc/user_busy.c
@@ -96,7 +96,7 @@ static int user_busy_utmp (const char *name)
continue;
}
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: user %s is currently logged in\n"),
Prog, name);
return 1;
@@ -249,7 +249,7 @@ static int user_busy_processes (const char *name, uid_t uid)
#ifdef ENABLE_SUBIDS
sub_uid_close();
#endif
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: user %s is currently used by process %d\n"),
Prog, name, pid);
return 1;
@@ -269,10 +269,11 @@ static int user_busy_processes (const char *name, uid_t uid)
}
if (check_status (name, task_path+6, uid) != 0) {
(void) closedir (proc);
+ (void) closedir (task_dir);
#ifdef ENABLE_SUBIDS
sub_uid_close();
#endif
- fprintf (stderr,
+ fprintf (shadow_logfd,
_("%s: user %s is currently used by process %d\n"),
Prog, name, pid);
return 1;
diff --git a/libmisc/utmp.c b/libmisc/utmp.c
index ba69cf61..5dcd419f 100644
--- a/libmisc/utmp.c
+++ b/libmisc/utmp.c
@@ -257,25 +257,25 @@ static void updwtmpx (const char *filename, const struct utmpx *utx)
utent->ut_type = USER_PROCESS;
#endif /* HAVE_STRUCT_UTMP_UT_TYPE */
utent->ut_pid = getpid ();
- strncpy (utent->ut_line, line, sizeof (utent->ut_line));
+ strncpy (utent->ut_line, line, sizeof (utent->ut_line) - 1);
#ifdef HAVE_STRUCT_UTMP_UT_ID
if (NULL != ut) {
strncpy (utent->ut_id, ut->ut_id, sizeof (utent->ut_id));
} else {
/* XXX - assumes /dev/tty?? */
- strncpy (utent->ut_id, line + 3, sizeof (utent->ut_id));
+ strncpy (utent->ut_id, line + 3, sizeof (utent->ut_id) - 1);
}
#endif /* HAVE_STRUCT_UTMP_UT_ID */
#ifdef HAVE_STRUCT_UTMP_UT_NAME
strncpy (utent->ut_name, name, sizeof (utent->ut_name));
#endif /* HAVE_STRUCT_UTMP_UT_NAME */
#ifdef HAVE_STRUCT_UTMP_UT_USER
- strncpy (utent->ut_user, name, sizeof (utent->ut_user));
+ strncpy (utent->ut_user, name, sizeof (utent->ut_user) - 1);
#endif /* HAVE_STRUCT_UTMP_UT_USER */
if (NULL != hostname) {
struct addrinfo *info = NULL;
#ifdef HAVE_STRUCT_UTMP_UT_HOST
- strncpy (utent->ut_host, hostname, sizeof (utent->ut_host));
+ strncpy (utent->ut_host, hostname, sizeof (utent->ut_host) - 1);
#endif /* HAVE_STRUCT_UTMP_UT_HOST */
#ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
utent->ut_syslen = MIN (strlen (hostname),
diff --git a/libmisc/xgetXXbyYY.c b/libmisc/xgetXXbyYY.c
index 1b0b0013..11f45fc4 100644
--- a/libmisc/xgetXXbyYY.c
+++ b/libmisc/xgetXXbyYY.c
@@ -74,7 +74,7 @@
result = malloc(sizeof(LOOKUP_TYPE));
if (NULL == result) {
- fprintf (stderr, _("%s: out of memory\n"),
+ fprintf (shadow_logfd, _("%s: out of memory\n"),
"x" STRINGIZE(FUNCTION_NAME));
exit (13);
}
@@ -84,7 +84,7 @@
LOOKUP_TYPE *resbuf = NULL;
buffer = (char *)realloc (buffer, length);
if (NULL == buffer) {
- fprintf (stderr, _("%s: out of memory\n"),
+ fprintf (shadow_logfd, _("%s: out of memory\n"),
"x" STRINGIZE(FUNCTION_NAME));
exit (13);
}
@@ -132,7 +132,7 @@
if (result) {
result = DUP_FUNCTION(result);
if (NULL == result) {
- fprintf (stderr, _("%s: out of memory\n"),
+ fprintf (shadow_logfd, _("%s: out of memory\n"),
"x" STRINGIZE(FUNCTION_NAME));
exit (13);
}
diff --git a/libmisc/xmalloc.c b/libmisc/xmalloc.c
index 41a3343c..6d686145 100644
--- a/libmisc/xmalloc.c
+++ b/libmisc/xmalloc.c
@@ -54,7 +54,7 @@
ptr = (char *) malloc (size);
if (NULL == ptr) {
- (void) fprintf (stderr,
+ (void) fprintf (shadow_logfd,
_("%s: failed to allocate memory: %s\n"),
Prog, strerror (errno));
exit (13);
@@ -66,3 +66,10 @@
{
return strcpy (xmalloc (strlen (str) + 1), str);
}
+
+void xfree(void *ap)
+{
+ if (ap) {
+ free(ap);
+ }
+}
diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am
new file mode 100644
index 00000000..189165b0
--- /dev/null
+++ b/libsubid/Makefile.am
@@ -0,0 +1,29 @@
+lib_LTLIBRARIES = libsubid.la
+libsubid_la_LDFLAGS = -Wl,-soname,libsubid.so.@LIBSUBID_ABI@ \
+ -shared -version-info @LIBSUBID_ABI_MAJOR@
+libsubid_la_SOURCES = api.c
+
+pkginclude_HEADERS = subid.h
+
+MISCLIBS = \
+ $(LIBAUDIT) \
+ $(LIBSELINUX) \
+ $(LIBSEMANAGE) \
+ $(LIBCRYPT_NOPAM) \
+ $(LIBSKEY) \
+ $(LIBMD) \
+ $(LIBECONF) \
+ $(LIBCRYPT) \
+ $(LIBACL) \
+ $(LIBATTR) \
+ $(LIBTCB)
+
+libsubid_la_LIBADD = \
+ $(top_srcdir)/lib/libshadow.la \
+ $(top_srcdir)/libmisc/libmisc.la \
+ $(MISCLIBS) -ldl
+
+AM_CPPFLAGS = \
+ -I${top_srcdir}/lib \
+ -I${top_srcdir}/libmisc \
+ -DLOCALEDIR=\"$(datadir)/locale\"
diff --git a/libsubid/Makefile.in b/libsubid/Makefile.in
new file mode 100644
index 00000000..4270a8b6
--- /dev/null
+++ b/libsubid/Makefile.in
@@ -0,0 +1,747 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 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@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libsubid
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(pkginclude_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+libsubid_la_DEPENDENCIES = $(top_srcdir)/lib/libshadow.la \
+ $(top_srcdir)/libmisc/libmisc.la $(am__DEPENDENCIES_2)
+am_libsubid_la_OBJECTS = api.lo
+libsubid_la_OBJECTS = $(am_libsubid_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libsubid_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libsubid_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libsubid_la_SOURCES)
+DIST_SOURCES = $(libsubid_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(pkginclude_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBACL = @LIBACL@
+LIBATTR = @LIBATTR@
+LIBAUDIT = @LIBAUDIT@
+LIBCRACK = @LIBCRACK@
+LIBCRYPT = @LIBCRYPT@
+LIBECONF = @LIBECONF@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMD = @LIBMD@
+LIBOBJS = @LIBOBJS@
+LIBPAM = @LIBPAM@
+LIBS = @LIBS@
+LIBSELINUX = @LIBSELINUX@
+LIBSEMANAGE = @LIBSEMANAGE@
+LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
+LIBTCB = @LIBTCB@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VENDORDIR = @VENDORDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+capcmd = @capcmd@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = libsubid.la
+libsubid_la_LDFLAGS = -Wl,-soname,libsubid.so.@LIBSUBID_ABI@ \
+ -shared -version-info @LIBSUBID_ABI_MAJOR@
+
+libsubid_la_SOURCES = api.c
+pkginclude_HEADERS = subid.h
+MISCLIBS = \
+ $(LIBAUDIT) \
+ $(LIBSELINUX) \
+ $(LIBSEMANAGE) \
+ $(LIBCRYPT_NOPAM) \
+ $(LIBSKEY) \
+ $(LIBMD) \
+ $(LIBECONF) \
+ $(LIBCRYPT) \
+ $(LIBACL) \
+ $(LIBATTR) \
+ $(LIBTCB)
+
+libsubid_la_LIBADD = \
+ $(top_srcdir)/lib/libshadow.la \
+ $(top_srcdir)/libmisc/libmisc.la \
+ $(MISCLIBS) -ldl
+
+AM_CPPFLAGS = \
+ -I${top_srcdir}/lib \
+ -I${top_srcdir}/libmisc \
+ -DLOCALEDIR=\"$(datadir)/locale\"
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libsubid/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libsubid/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libsubid.la: $(libsubid_la_OBJECTS) $(libsubid_la_DEPENDENCIES) $(EXTRA_libsubid_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libsubid_la_LINK) -rpath $(libdir) $(libsubid_la_OBJECTS) $(libsubid_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/api.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \
+ done
+
+uninstall-pkgincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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 $(LTLIBRARIES) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgincludedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+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:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-pkgincludeHEADERS install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-libLTLIBRARIES \
+ uninstall-pkgincludeHEADERS
+
+.PRECIOUS: Makefile
+
+
+# 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/libsubid/api.c b/libsubid/api.c
new file mode 100644
index 00000000..a7b904d0
--- /dev/null
+++ b/libsubid/api.c
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2020 Serge Hallyn
+ * 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. The name of the copyright holders or contributors may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
+ * HOLDERS 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 <config.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <pwd.h>
+#include <stdbool.h>
+#include "subordinateio.h"
+#include "idmapping.h"
+#include "subid.h"
+
+const char *Prog = "(libsubid)";
+FILE *shadow_logfd;
+
+bool libsubid_init(const char *progname, FILE * logfd)
+{
+ if (progname) {
+ progname = strdup(progname);
+ if (progname)
+ Prog = progname;
+ else
+ return false;
+ }
+
+ if (logfd) {
+ shadow_logfd = logfd;
+ return true;
+ }
+ shadow_logfd = fopen("/dev/null", "w");
+ if (!shadow_logfd) {
+ shadow_logfd = stderr;
+ return false;
+ }
+ return true;
+}
+
+static
+int get_subid_ranges(const char *owner, enum subid_type id_type, struct subid_range **ranges)
+{
+ return list_owner_ranges(owner, id_type, ranges);
+}
+
+int get_subuid_ranges(const char *owner, struct subid_range **ranges)
+{
+ return get_subid_ranges(owner, ID_TYPE_UID, ranges);
+}
+
+int get_subgid_ranges(const char *owner, struct subid_range **ranges)
+{
+ return get_subid_ranges(owner, ID_TYPE_GID, ranges);
+}
+
+static
+int get_subid_owner(unsigned long id, enum subid_type id_type, uid_t **owner)
+{
+ return find_subid_owners(id, id_type, owner);
+}
+
+int get_subuid_owners(uid_t uid, uid_t **owner)
+{
+ return get_subid_owner((unsigned long)uid, ID_TYPE_UID, owner);
+}
+
+int get_subgid_owners(gid_t gid, uid_t **owner)
+{
+ return get_subid_owner((unsigned long)gid, ID_TYPE_GID, owner);
+}
+
+static
+bool grant_subid_range(struct subordinate_range *range, bool reuse,
+ enum subid_type id_type)
+{
+ return new_subid_range(range, id_type, reuse);
+}
+
+bool grant_subuid_range(struct subordinate_range *range, bool reuse)
+{
+ return grant_subid_range(range, reuse, ID_TYPE_UID);
+}
+
+bool grant_subgid_range(struct subordinate_range *range, bool reuse)
+{
+ return grant_subid_range(range, reuse, ID_TYPE_GID);
+}
+
+static
+bool ungrant_subid_range(struct subordinate_range *range, enum subid_type id_type)
+{
+ return release_subid_range(range, id_type);
+}
+
+bool ungrant_subuid_range(struct subordinate_range *range)
+{
+ return ungrant_subid_range(range, ID_TYPE_UID);
+}
+
+bool ungrant_subgid_range(struct subordinate_range *range)
+{
+ return ungrant_subid_range(range, ID_TYPE_GID);
+}
diff --git a/libsubid/subid.h b/libsubid/subid.h
new file mode 100644
index 00000000..eabafe4d
--- /dev/null
+++ b/libsubid/subid.h
@@ -0,0 +1,151 @@
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdbool.h>
+
+#ifndef SUBID_RANGE_DEFINED
+#define SUBID_RANGE_DEFINED 1
+
+/* subid_range is just a starting point and size of a range */
+struct subid_range {
+ unsigned long start;
+ unsigned long count;
+};
+
+/* subordinage_range is a subid_range plus an owner, representing
+ * a range in /etc/subuid or /etc/subgid */
+struct subordinate_range {
+ const char *owner;
+ unsigned long start;
+ unsigned long count;
+};
+
+enum subid_type {
+ ID_TYPE_UID = 1,
+ ID_TYPE_GID = 2
+};
+
+enum subid_status {
+ SUBID_STATUS_SUCCESS = 0,
+ SUBID_STATUS_UNKNOWN_USER = 1,
+ SUBID_STATUS_ERROR_CONN = 2,
+ SUBID_STATUS_ERROR = 3,
+};
+
+/*
+ * libsubid_init: initialize libsubid
+ *
+ * @progname: Name to display as program. If NULL, then "(libsubid)" will be
+ * shown in error messages.
+ * @logfd: Open file pointer to pass error messages to. If NULL, then
+ * /dev/null will be opened and messages will be sent there. The
+ * default if libsubid_init() is not called is stderr (2).
+ *
+ * This function does not need to be called. If not called, then the defaults
+ * will be used.
+ *
+ * Returns false if an error occurred.
+ */
+bool libsubid_init(const char *progname, FILE *logfd);
+
+/*
+ * get_subuid_ranges: return a list of UID ranges for a user
+ *
+ * @owner: username being queried
+ * @ranges: a pointer to an array of subid_range structs in which the result
+ * will be returned.
+ *
+ * The caller must free(ranges) when done.
+ *
+ * returns: number of ranges found, ir < 0 on error.
+ */
+int get_subuid_ranges(const char *owner, struct subid_range **ranges);
+
+/*
+ * get_subgid_ranges: return a list of GID ranges for a user
+ *
+ * @owner: username being queried
+ * @ranges: a pointer to an array of subid_range structs in which the result
+ * will be returned.
+ *
+ * The caller must free(ranges) when done.
+ *
+ * returns: number of ranges found, ir < 0 on error.
+ */
+int get_subgid_ranges(const char *owner, struct subid_range **ranges);
+
+/*
+ * get_subuid_owners: return a list of uids to which the given uid has been
+ * delegated.
+ *
+ * @uid: The subuid being queried
+ * @owners: a pointer to an array of uids into which the results are placed.
+ * The returned array must be freed by the caller.
+ *
+ * Returns the number of uids returned, or < 0 on error.
+ */
+int get_subuid_owners(uid_t uid, uid_t **owner);
+
+/*
+ * get_subgid_owners: return a list of uids to which the given gid has been
+ * delegated.
+ *
+ * @uid: The subgid being queried
+ * @owners: a pointer to an array of uids into which the results are placed.
+ * The returned array must be freed by the caller.
+ *
+ * Returns the number of uids returned, or < 0 on error.
+ */
+int get_subgid_owners(gid_t gid, uid_t **owner);
+
+/*
+ * grant_subuid_range: assign a subuid range to a user
+ *
+ * @range: pointer to a struct subordinate_range detailing the UID range
+ * to allocate. ->owner must be the username, and ->count must be
+ * filled in. ->start is ignored, and will contain the start
+ * of the newly allocated range, upon success.
+ *
+ * Returns true if the delegation succeeded, false otherwise. If true,
+ * then the range from (range->start, range->start + range->count) will
+ * be delegated to range->owner.
+ */
+bool grant_subuid_range(struct subordinate_range *range, bool reuse);
+
+/*
+ * grant_subsid_range: assign a subgid range to a user
+ *
+ * @range: pointer to a struct subordinate_range detailing the GID range
+ * to allocate. ->owner must be the username, and ->count must be
+ * filled in. ->start is ignored, and will contain the start
+ * of the newly allocated range, upon success.
+ *
+ * Returns true if the delegation succeeded, false otherwise. If true,
+ * then the range from (range->start, range->start + range->count) will
+ * be delegated to range->owner.
+ */
+bool grant_subgid_range(struct subordinate_range *range, bool reuse);
+
+/*
+ * ungrant_subuid_range: remove a subuid allocation.
+ *
+ * @range: pointer to a struct subordinate_range detailing the UID allocation
+ * to remove.
+ *
+ * Returns true if successful, false if it failed, for instance if the
+ * delegation did not exist.
+ */
+bool ungrant_subuid_range(struct subordinate_range *range);
+
+/*
+ * ungrant_subuid_range: remove a subgid allocation.
+ *
+ * @range: pointer to a struct subordinate_range detailing the GID allocation
+ * to remove.
+ *
+ * Returns true if successful, false if it failed, for instance if the
+ * delegation did not exist.
+ */
+bool ungrant_subgid_range(struct subordinate_range *range);
+
+#define SUBID_NFIELDS 3
+#endif
diff --git a/ltmain.sh b/ltmain.sh
index d11f1e02..a736cf99 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-11"
+VERSION="2.4.6 Debian-2.4.6-2"
package_revision=2.4.6
@@ -1370,7 +1370,7 @@ func_lt_ver ()
#! /bin/sh
# Set a version string for this script.
-scriptversion=2015-10-07.11; # UTC
+scriptversion=2014-01-07.03; # UTC
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
@@ -1530,8 +1530,6 @@ func_run_hooks ()
{
$debug_cmd
- _G_rc_run_hooks=false
-
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1540,16 +1538,16 @@ func_run_hooks ()
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
- if eval $_G_hook '"$@"'; then
- # store returned options list back into positional
- # parameters for next 'cmd' execution.
- eval _G_hook_result=\$${_G_hook}_result
- eval set dummy "$_G_hook_result"; shift
- _G_rc_run_hooks=:
- fi
+ eval $_G_hook '"$@"'
+
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
done
- $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
+ func_quote_for_eval ${1+"$@"}
+ func_run_hooks_result=$func_quote_for_eval_result
}
@@ -1559,16 +1557,10 @@ func_run_hooks ()
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, you may remove/edit
-# any options that you action, and then pass back the remaining unprocessed
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'. In this case you also must return $EXIT_SUCCESS to let the
-# hook's caller know that it should pay attention to
-# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
-# arguments are left untouched by the hook and therefore caller will ignore the
-# result variable.
-#
-# Like this:
+# 'eval'. Like this:
#
# my_options_prep ()
# {
@@ -1578,11 +1570,9 @@ func_run_hooks ()
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
-# # No change in '$@' (ignored completely by this hook). There is
-# # no need to do the equivalent (but slower) action:
-# # func_quote_for_eval ${1+"$@"}
-# # my_options_prep_result=$func_quote_for_eval_result
-# false
+#
+# func_quote_for_eval ${1+"$@"}
+# my_options_prep_result=$func_quote_for_eval_result
# }
# func_add_hook func_options_prep my_options_prep
#
@@ -1591,37 +1581,25 @@ func_run_hooks ()
# {
# $debug_cmd
#
-# args_changed=false
-#
# # Note that for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
-# --silent|-s) opt_silent=:
-# args_changed=:
-# ;;
+# --silent|-s) opt_silent=: ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
-# args_changed=:
# ;;
-# *) # Make sure the first unrecognised option "$_G_opt"
-# # is added back to "$@", we could need that later
-# # if $args_changed is true.
-# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+# *) set dummy "$_G_opt" "$*"; shift; break ;;
# esac
# done
#
-# if $args_changed; then
-# func_quote_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_result
-# fi
-#
-# $args_changed
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
# }
# func_add_hook func_parse_options my_silent_option
#
@@ -1633,32 +1611,16 @@ func_run_hooks ()
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
#
-# false
+# func_quote_for_eval ${1+"$@"}
+# my_option_validation_result=$func_quote_for_eval_result
# }
# func_add_hook func_validate_options my_option_validation
#
-# You'll also need to manually amend $usage_message to reflect the extra
+# You'll alse need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
-# func_options_finish [ARG]...
-# ----------------------------
-# Finishing the option parse loop (call 'func_options' hooks ATM).
-func_options_finish ()
-{
- $debug_cmd
-
- _G_func_options_finish_exit=false
- if func_run_hooks func_options ${1+"$@"}; then
- func_options_finish_result=$func_run_hooks_result
- _G_func_options_finish_exit=:
- fi
-
- $_G_func_options_finish_exit
-}
-
-
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
@@ -1668,28 +1630,17 @@ func_options ()
{
$debug_cmd
- _G_rc_options=false
+ func_options_prep ${1+"$@"}
+ eval func_parse_options \
+ ${func_options_prep_result+"$func_options_prep_result"}
+ eval func_validate_options \
+ ${func_parse_options_result+"$func_parse_options_result"}
- for my_func in options_prep parse_options validate_options options_finish
- do
- if eval func_$my_func '${1+"$@"}'; then
- eval _G_res_var='$'"func_${my_func}_result"
- eval set dummy "$_G_res_var" ; shift
- _G_rc_options=:
- fi
- done
-
- # Save modified positional parameters for caller. As a top-level
- # options-parser function we always need to set the 'func_options_result'
- # variable (regardless the $_G_rc_options value).
- if $_G_rc_options; then
- func_options_result=$_G_res_var
- else
- func_quote_for_eval ${1+"$@"}
- func_options_result=$func_quote_for_eval_result
- fi
+ eval func_run_hooks func_options \
+ ${func_validate_options_result+"$func_validate_options_result"}
- $_G_rc_options
+ # save modified positional parameters for caller
+ func_options_result=$func_run_hooks_result
}
@@ -1698,9 +1649,9 @@ func_options ()
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
-# needs to propagate that back to rest of this script, then the complete
+# needs to propogate that back to rest of this script, then the complete
# modified list must be put in 'func_run_hooks_result' before
-# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
+# returning.
func_hookable func_options_prep
func_options_prep ()
{
@@ -1710,14 +1661,10 @@ func_options_prep ()
opt_verbose=false
opt_warning_types=
- _G_rc_options_prep=false
- if func_run_hooks func_options_prep ${1+"$@"}; then
- _G_rc_options_prep=:
- # save modified positional parameters for caller
- func_options_prep_result=$func_run_hooks_result
- fi
+ func_run_hooks func_options_prep ${1+"$@"}
- $_G_rc_options_prep
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
}
@@ -1731,20 +1678,18 @@ func_parse_options ()
func_parse_options_result=
- _G_rc_parse_options=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
- if func_run_hooks func_parse_options ${1+"$@"}; then
- eval set dummy "$func_run_hooks_result"; shift
- _G_rc_parse_options=:
- fi
+ func_run_hooks func_parse_options ${1+"$@"}
+
+ # Adjust func_parse_options positional parameters to match
+ eval set dummy "$func_run_hooks_result"; shift
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
- _G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -1759,10 +1704,7 @@ func_parse_options ()
;;
--warnings|--warning|-W)
- if test $# = 0 && func_missing_arg $_G_opt; then
- _G_rc_parse_options=:
- break
- fi
+ test $# = 0 && func_missing_arg $_G_opt && break
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
@@ -1815,25 +1757,15 @@ func_parse_options ()
shift
;;
- --) _G_rc_parse_options=: ; break ;;
+ --) break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
- *) set dummy "$_G_opt" ${1+"$@"}; shift
- _G_match_parse_options=false
- break
- ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
esac
-
- $_G_match_parse_options && _G_rc_parse_options=:
done
-
- if $_G_rc_parse_options; then
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_result
- fi
-
- $_G_rc_parse_options
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
}
@@ -1846,21 +1778,16 @@ func_validate_options ()
{
$debug_cmd
- _G_rc_validate_options=false
-
# Display all warnings if -W was not given.
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
- if func_run_hooks func_validate_options ${1+"$@"}; then
- # save modified positional parameters for caller
- func_validate_options_result=$func_run_hooks_result
- _G_rc_validate_options=:
- fi
+ func_run_hooks func_validate_options ${1+"$@"}
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
- $_G_rc_validate_options
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
}
@@ -2141,7 +2068,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-11
+ version: $progname $scriptversion Debian-2.4.6-2
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
@@ -2343,8 +2270,6 @@ libtool_options_prep ()
nonopt=
preserve_args=
- _G_rc_lt_options_prep=:
-
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
@@ -2368,18 +2293,11 @@ libtool_options_prep ()
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
- *)
- _G_rc_lt_options_prep=false
- ;;
esac
- if $_G_rc_lt_options_prep; then
- # Pass back the list of options.
- func_quote_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_result
- fi
-
- $_G_rc_lt_options_prep
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
}
func_add_hook func_options_prep libtool_options_prep
@@ -2391,12 +2309,9 @@ libtool_parse_options ()
{
$debug_cmd
- _G_rc_lt_parse_options=false
-
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
- _G_match_lt_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -2471,22 +2386,15 @@ libtool_parse_options ()
func_append preserve_args " $_G_opt"
;;
- # An option not handled by this hook function:
- *) set dummy "$_G_opt" ${1+"$@"} ; shift
- _G_match_lt_parse_options=false
- break
- ;;
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
esac
- $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
done
- if $_G_rc_lt_parse_options; then
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_result
- fi
- $_G_rc_lt_parse_options
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
}
func_add_hook func_parse_options libtool_parse_options
@@ -7367,11 +7275,10 @@ func_mode_link ()
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
- # -fuse-ld=* Linker select flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*)
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644
index 00000000..b5ce322f
--- /dev/null
+++ b/m4/gettext.m4
@@ -0,0 +1,417 @@
+# gettext.m4 serial 58 (gettext-0.16)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl default (if it is not specified or empty) is 'no-libtool'.
+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored. If NEEDSYMBOL is specified and is
+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries. If empty,
+dnl the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+ dnl Argument checking.
+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+ define([gt_included_intl],
+ ifelse([$1], [external],
+ ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+ [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+ gt_NEEDS_INIT
+ AM_GNU_GETTEXT_NEED([$2])
+
+ 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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+ dnl the configure script would need to contain the same shell code
+ dnl again, outside any 'if'. There are two solutions:
+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+ dnl documented, we avoid it.
+ ifelse(gt_included_intl, yes, , [
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ ])
+
+ dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
+
+ dnl Set USE_NLS.
+ AC_REQUIRE([AM_NLS])
+
+ ifelse(gt_included_intl, yes, [
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ ])
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ dnl Add a version number to the cache macros.
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+ ifelse(gt_included_intl, yes, [
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH(included-gettext,
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ ])
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='[[
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+]]'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+ [AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+ [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+ [eval "$gt_func_gnugettext_libc=yes"],
+ [eval "$gt_func_gnugettext_libc=no"])])
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "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_func_gnugettext_libintl],
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ dnl Now see whether libintl exists and does not depend on libiconv.
+ AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+ [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+ [eval "$gt_func_gnugettext_libintl=yes"],
+ [eval "$gt_func_gnugettext_libintl=no"])
+ dnl Now see whether libintl exists and depends on libiconv.
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+ [bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_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 { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ dnl Reset the values set by searching for libintl.
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on included GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ CATOBJEXT=
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions to use GNU gettext tools.
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ AC_DEFINE(ENABLE_NLS, 1,
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ AC_MSG_CHECKING([whether to use NLS])
+ AC_MSG_RESULT([$USE_NLS])
+ if test "$USE_NLS" = "yes"; then
+ AC_MSG_CHECKING([where the gettext function comes from])
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "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 { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ AC_MSG_CHECKING([how to link with libintl])
+ AC_MSG_RESULT([$LIBINTL])
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+ fi
+
+ dnl For backward compatibility. Some packages may be using this.
+ AC_DEFINE(HAVE_GETTEXT, 1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ AC_DEFINE(HAVE_DCGETTEXT, 1,
+ [Define if the GNU dcgettext() function is already present or preinstalled.])
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
+ AC_SUBST(USE_INCLUDED_LIBINTL)
+ AC_SUBST(CATOBJEXT)
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST(DATADIRNAME)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST(INSTOBJEXT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST(GENCAT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+ AC_SUBST(INTLOBJS)
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ ])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLLIBS="$LIBINTL"
+ AC_SUBST(INTLLIBS)
+
+ dnl Make all documented variables known to autoconf.
+ AC_SUBST(LIBINTL)
+ AC_SUBST(LTLIBINTL)
+ AC_SUBST(POSUB)
+])
+
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ dnl Check for API introduced in MacOS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ gt_cv_func_CFPreferencesCopyAppValue,
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+ [CFPreferencesCopyAppValue(NULL, NULL)],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+ [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in MacOS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+ [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+ m4_divert_text([DEFAULTS], [gt_needs=])
+ m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644
index 00000000..654c4158
--- /dev/null
+++ b/m4/iconv.m4
@@ -0,0 +1,101 @@
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_func_iconv=yes)
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes)
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST(LIBICONV)
+ AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([$]{ac_t:-
+ }[$]am_cv_proto_iconv)
+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ [Define as const if the declaration of iconv() needs const.])
+ fi
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644
index 00000000..96c4e2c3
--- /dev/null
+++ b/m4/lib-ld.m4
@@ -0,0 +1,110 @@
+# lib-ld.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]* | [A-Za-z]:[\\/]*)]
+ [re_direlt='/[^/][^/]*/\.\./']
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644
index 00000000..f95b7ba8
--- /dev/null
+++ b/m4/lib-link.m4
@@ -0,0 +1,644 @@
+# lib-link.m4 serial 9 (gettext-0.16)
+dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ(2.50)
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ define([Name],[translit([$1],[./-], [___])])
+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ undefine([Name])
+ undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ define([Name],[translit([$1],[./-], [___])])
+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIB[]NAME"
+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ undefine([Name])
+ undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ libext="$acl_cv_libext"
+ shlibext="$acl_cv_shlibext"
+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ hardcode_direct="$acl_cv_hardcode_direct"
+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE(rpath,
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ 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/$acl_libdirstem"
+ 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" \
+ || { test "$shlibext" = dll \
+ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
+ found_dir="$additional_libdir"
+ if test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_so="$additional_libdir/lib$name.$shlibext"
+ else
+ found_so="$additional_libdir/lib$name.dll.a"
+ fi
+ 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" \
+ || { test "$shlibext" = dll \
+ && test -f "$dir/lib$name.dll.a"; }; }; then
+ found_dir="$dir"
+ if test -f "$dir/lib$name.$shlibext"; then
+ found_so="$dir/lib$name.$shlibext"
+ else
+ found_so="$dir/lib$name.dll.a"
+ fi
+ 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/$acl_libdirstem"; 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
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644
index 00000000..a8684e17
--- /dev/null
+++ b/m4/lib-prefix.m4
@@ -0,0 +1,185 @@
+# lib-prefix.m4 serial 5 (gettext-0.15)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ 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/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; 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/$acl_libdirstem"; 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"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
+dnl the basename of the libdir, either "lib" or "lib64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64. The current
+ dnl practice is that on a system supporting 32-bit and 64-bit instruction
+ dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
+ dnl libraries go under $prefix/lib. We determine the compiler's default
+ dnl mode by looking at the compiler's library search path. If at least
+ dnl of its elements ends in /lib64 or points to a directory whose absolute
+ dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+ dnl default, namely "lib".
+ acl_libdirstem=lib
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 00000000..ee80844b
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,8387 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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, see <http://www.gnu.org/licenses/>.
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+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 set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+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 delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -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
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options that allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile=${ofile}T
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_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 set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # 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"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "$LT_MULTI_MODULE"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS=$save_LDFLAGS
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+ fi
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ m4_if([$1], [CXX],
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -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$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -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$_lt_dar_export_syms$_lt_dsymutil"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# 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.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case $ECHO in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+ if test yes = "$GCC"; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([$with_sysroot])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
+ 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 what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test yes = "$lt_cv_prog_gnu_ld"; 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*
+ ;;
+
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
+ 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-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*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-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ 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_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test yes != "$lt_cv_cc_needs_belf"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS=$SAVE_CFLAGS
+ fi
+ ;;
+*-*solaris*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*|x86_64-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD=${LD-ld}_sol2
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -eq "$ac_status"; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -ne "$ac_status"; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test no = "$lt_cv_ar_at_file"; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ bitrig* | openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
+ # 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}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $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 other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker 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
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# 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
+ teststring=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* | cegcc*)
+ # 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;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # 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`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test 17 != "$i" # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # 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`
+ fi
+ ;;
+ 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
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#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
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 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;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; 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* | cegcc*)
+ 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
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen=shl_load],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen=dlopen],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test no = "$lt_cv_dlopen"; then
+ enable_dlopen=no
+ else
+ enable_dlopen=yes
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS=$LDFLAGS
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS=$LIBS
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test yes = "$lt_cv_dlopen_self"; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ 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
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ 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}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $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:$LINENO: \$? = $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
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; 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
+ $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
+ AC_MSG_RESULT([$hard_links])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_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
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+ # We can hardcode non-existent directories.
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+ # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+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
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ 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"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x@S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test yes = "$GCC"; then
+ case $host_os in
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # 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.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary...
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo = "/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.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"
+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
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test ia64 = "$host_cpu"; 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
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.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'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+ # 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'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ 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=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='$libname$shared_ext'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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* | cegcc*)
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ 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~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ 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'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ ;;
+ 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
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ 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
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # 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
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # 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
+ library_names_spec='$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_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ 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
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ 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=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ 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_cmds='.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 32 = "$HPUX_IA64_MODE"; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+ fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.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_cmds='.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'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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
+ ;;
+
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # 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
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # 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
+
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # 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'
+ ;;
+
+netbsdelf*-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
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_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$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 # correct to gnu/linux during the next big refactor
+ 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=qnx
+ 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=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd* | bitrig*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
+ need_lib_prefix=no
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ 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
+ shlibpath_overrides_runpath=yes
+ ;;
+
+os2*)
+ libname_spec='$name'
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ 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~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ ;;
+
+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
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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 yes = "$with_gnu_ld"; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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
+ 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 # correct to gnu/linux during the next big refactor
+ 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
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ 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 no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[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]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_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="m4_if([$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 <<_LT_EOF 1>&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
+
+_LT_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
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_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
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test no = "$withval" || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; 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 pathname 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 yes = "$with_gnu_ld"; 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 variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test no != "$with_gnu_ld" && break
+ ;;
+ *)
+ test yes != "$with_gnu_ld" && break
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_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])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_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 lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[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
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test yes != "$GCC"; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent 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
+# that 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
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ 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*)
+ # func_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='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ 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|DragonFly)/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
+ ;;
+
+haiku*)
+ 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])(-bit)?( [LM]SB)? 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
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ 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=pass_all
+ ;;
+
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ 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
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+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
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM=$NM
+else
+ lt_nm_to_check=${ac_tool_prefix}nm
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/$lt_tmp_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
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break 2
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break 2
+ ;;
+ *)
+ 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
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols -headers"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-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_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# 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]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test ia64 = "$host_cpu"; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
+
+# 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
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $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 <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS=conftstm.$ac_objext
+ CFLAGS="$CFLAGS$_LT_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_globsym_save_LIBS
+ CFLAGS=$lt_globsym_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 -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test yes = "$pipe_works"; 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
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # 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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # 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).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_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
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # 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).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64, which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_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_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # 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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # 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).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # 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).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ # old Intel for x86_64, which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_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_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # 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.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # 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 yes != "$GCC"; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd* | bitrig*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test yes = "$with_gnu_ld"; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test yes = "$lt_use_gnu_ld_interface"; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='$wl'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_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_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test linux-dietlibc = "$host_os"; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test no = "$tmp_diet"
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&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.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_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_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ 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_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GCC"; 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
+ :
+ else
+ # We have old collect2
+ _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_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_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # 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.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_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_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $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_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+
+ hpux10*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ osf3*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_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'
+ ;;
+ *)
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_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 -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test sequent = "$host_vendor"; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test sni = "$host_vendor"; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test yes,yes = "$GCC,$enable_shared"; then
+ case $_LT_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_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$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_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+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_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report what library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ 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
+ $as_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
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test yes = "$GXX"; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_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 yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_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_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ 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.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $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 -v "^Configured with:" | $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_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; 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
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ 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_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GXX"; 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
+ :
+ else
+ # We have old collect2
+ _LT_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_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_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_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_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_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_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 "x$output_objdir/$soname" = "x$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; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_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_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_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; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $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_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ 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_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_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; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_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_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_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'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_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=`func_echo_all "$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; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_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::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | 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_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_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_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 $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_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=`func_echo_all "$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; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ case $host in
+ osf3*)
+ _LT_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" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_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 -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_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 $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # 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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_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_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -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 -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_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 $wl-h $wl$soname -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 -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ 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
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([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.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+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...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); 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
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $prev$p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev 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 "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $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 "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)=$prev$p
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$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 no = "$pre_test_object_deps_done"; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)=$p
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)=$p
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# 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.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# 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. #
+############################################################
+
+m4_defun([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
+IFS=$as_save_IFS
+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" && continue
+ 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 10 -lt "$lt_ac_count" && 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_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 00000000..94b08297
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,437 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_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=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_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=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_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=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 00000000..48bc9344
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,124 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 00000000..fa04b52a
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 4179 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.6'
+macro_revision='2.4.6'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 00000000..c6b26f88
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,99 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644
index 00000000..7967cc2f
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,31 @@
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644
index 00000000..00133ef3
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,428 @@
+# po.m4 serial 13 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
+
+ AC_CONFIG_COMMANDS([po-directories], [[
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done]],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[ ]*VARIABLE[ ]*=/{
+ # Seen the first line of the variable definition.
+ s/^[ ]*VARIABLE[ ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644
index 00000000..a56365cd
--- /dev/null
+++ b/m4/progtest.m4
@@ -0,0 +1,92 @@
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
diff --git a/man/Makefile.am b/man/Makefile.am
index 8b64feba..f0f5c44b 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -136,6 +136,8 @@ login_defs_v = \
FAKE_SHELL.xml \
FTMP_FILE.xml \
GID_MAX.xml \
+ HMAC_CRYPTO_ALGO.xml \
+ HOME_MODE.xml \
HUSHLOGIN_FILE.xml \
ISSUE_FILE.xml \
KILLCHAR.xml \
@@ -152,6 +154,7 @@ login_defs_v = \
MD5_CRYPT_ENAB.xml \
MOTD_FILE.xml \
NOLOGINS_FILE.xml \
+ NONEXISTENT.xml \
OBSCURE_CHECKS_ENAB.xml \
PASS_ALWAYS_WARN.xml \
PASS_CHANGE_TRIES.xml \
diff --git a/man/Makefile.in b/man/Makefile.in
index dd886fb6..484bc152 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -94,8 +94,14 @@ host_triplet = @host@
@ENABLE_SUBIDS_FALSE@am__append_5 = $(man_subids)
subdir = man
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -172,7 +178,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir distdir-am
+ distdir
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -248,7 +254,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -277,9 +282,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -317,7 +327,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -468,6 +477,8 @@ login_defs_v = \
FAKE_SHELL.xml \
FTMP_FILE.xml \
GID_MAX.xml \
+ HMAC_CRYPTO_ALGO.xml \
+ HOME_MODE.xml \
HUSHLOGIN_FILE.xml \
ISSUE_FILE.xml \
KILLCHAR.xml \
@@ -484,6 +495,7 @@ login_defs_v = \
MD5_CRYPT_ENAB.xml \
MOTD_FILE.xml \
NOLOGINS_FILE.xml \
+ NONEXISTENT.xml \
OBSCURE_CHECKS_ENAB.xml \
PASS_ALWAYS_WARN.xml \
PASS_CHANGE_TRIES.xml \
@@ -549,8 +561,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/generate_mans.mak $(am__empty):
@@ -842,10 +854,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/chage.1.xml b/man/chage.1.xml
index 1e4cc539..afc9ed7a 100644
--- a/man/chage.1.xml
+++ b/man/chage.1.xml
@@ -102,6 +102,9 @@
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).
+ If the <replaceable>LAST_DAY</replaceable> is set to
+ <emphasis>0</emphasis> the user is forced to change his password
+ on the next log on.
</para>
</listitem>
</varlistentry>
@@ -119,6 +122,13 @@
system again.
</para>
<para>
+ For example the following can be used to set an account to expire
+ in 180 days:
+ </para>
+ <programlisting>
+ chage -E $(date -d +180days +%Y-%m-%d)
+ </programlisting>
+ <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the
<replaceable>EXPIRE_DATE</replaceable> will remove an account
expiration date.
@@ -239,6 +249,18 @@
The <command>chage</command> program requires a shadow password file to
be available.
</para>
+ <para>
+ The chage program will report only the information from the shadow
+ password file. This implies that configuration from other sources
+ (e.g. LDAP or empty password hash field from the passwd file) that
+ affect the user's login will not be shown in the chage output.
+ </para>
+ <para>
+ The <command>chage</command> program will also not report any
+ inconsistency between the shadow and passwd files (e.g. missing x in
+ the passwd file). The <command>pwck</command> can be used to check
+ for this kind of inconsistencies.
+ </para>
<para>The <command>chage</command> command is restricted to the root
user, except for the <option>-l</option> option, which may be used by
an unprivileged user to determine when their password or account is due
diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in
index 494c164c..b614c85d 100644
--- a/man/cs/Makefile.in
+++ b/man/cs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/cs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -352,8 +361,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -506,10 +515,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/da/Makefile.in b/man/da/Makefile.in
index 2e74ff19..19b7a5a7 100644
--- a/man/da/Makefile.in
+++ b/man/da/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/da
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -183,7 +189,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -212,9 +217,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -252,7 +262,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -351,8 +360,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -506,10 +515,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/da/man1/chfn.1 b/man/da/man1/chfn.1
index d1115845..98ab9787 100644
--- a/man/da/man1/chfn.1
+++ b/man/da/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "CHFN" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "CHFN" "1" "22/07/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man1/groups.1 b/man/da/man1/groups.1
index 88d46b0b..18089d36 100644
--- a/man/da/man1/groups.1
+++ b/man/da/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "GROUPS" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "GROUPS" "1" "22/07/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man1/id.1 b/man/da/man1/id.1
index 507f1810..08477386 100644
--- a/man/da/man1/id.1
+++ b/man/da/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "ID" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "ID" "1" "22/07/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man1/newgrp.1 b/man/da/man1/newgrp.1
index d9b5b625..4a5b7f57 100644
--- a/man/da/man1/newgrp.1
+++ b/man/da/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "NEWGRP" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "NEWGRP" "1" "22/07/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man1/sg.1 b/man/da/man1/sg.1
index 417eb025..8c182966 100644
--- a/man/da/man1/sg.1
+++ b/man/da/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "SG" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "SG" "1" "22/07/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man5/gshadow.5 b/man/da/man5/gshadow.5
index a5f7a438..1392e781 100644
--- a/man/da/man5/gshadow.5
+++ b/man/da/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "GSHADOW" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "GSHADOW" "5" "22/07/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man8/groupdel.8 b/man/da/man8/groupdel.8
index 33012e03..84a039b8 100644
--- a/man/da/man8/groupdel.8
+++ b/man/da/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Kommandoer for systemh\(oandtering
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "GROUPDEL" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Kommandoer for systemh\(oandterin"
+.TH "GROUPDEL" "8" "22/07/2021" "shadow\-utils 4\&.9" "Kommandoer for systemh\(oandterin"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Vis hj\(aelpeteksten og afslut\&.
diff --git a/man/da/man8/logoutd.8 b/man/da/man8/logoutd.8
index 7876fc2c..32abd541 100644
--- a/man/da/man8/logoutd.8
+++ b/man/da/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Kommandoer for systemh\(oandtering
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "LOGOUTD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Kommandoer for systemh\(oandterin"
+.TH "LOGOUTD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Kommandoer for systemh\(oandterin"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man8/nologin.8 b/man/da/man8/nologin.8
index 5aeca9d7..00cb8e1f 100644
--- a/man/da/man8/nologin.8
+++ b/man/da/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Kommandoer for systemh\(oandtering
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "NOLOGIN" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Kommandoer for systemh\(oandterin"
+.TH "NOLOGIN" "8" "22/07/2021" "shadow\-utils 4\&.9" "Kommandoer for systemh\(oandterin"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/da/man8/vipw.8 b/man/da/man8/vipw.8
index c075b103..2d9aade6 100644
--- a/man/da/man8/vipw.8
+++ b/man/da/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Kommandoer for systemh\(oandtering
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Danish
.\"
-.TH "VIPW" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Kommandoer for systemh\(oandterin"
+.TH "VIPW" "8" "22/07/2021" "shadow\-utils 4\&.9" "Kommandoer for systemh\(oandterin"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/Makefile.in b/man/de/Makefile.in
index 46602dc9..eef3df35 100644
--- a/man/de/Makefile.in
+++ b/man/de/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/de
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -362,8 +371,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -560,10 +569,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/de/man1/chage.1 b/man/de/man1/chage.1
index 5c02f8bb..fab879b2 100644
--- a/man/de/man1/chage.1
+++ b/man/de/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "CHAGE" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "CHAGE" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-Legt die Anzahl der Tage, gerechnet ab dem 1\&. Januar 1970, fest, seit denen das Passwort das letzte Mal gewechselt wurde\&. Das Datum kann auch im Format JJJJ\-MM\-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben werden\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Setzt das Datum oder die Anzahl der Tage seit dem 1\&. Januar 1970, ab dem auf das Benutzerkonto nicht mehr zugegriffen werden kann\&. Das Datum kann auch im Format JJJJ\-MM\-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben werden\&. Ein Benutzer, dessen Konto gesperrt ist, muss sich mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am System anmelden kann\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/de/man1/chfn.1 b/man/de/man1/chfn.1
index ce155d38..18192968 100644
--- a/man/de/man1/chfn.1
+++ b/man/de/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "CHFN" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "CHFN" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/chsh.1 b/man/de/man1/chsh.1
index 3d410532..b28e8bbb 100644
--- a/man/de/man1/chsh.1
+++ b/man/de/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "CHSH" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "CHSH" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -59,7 +59,7 @@ directory\&.
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Der Name der neuen Anmelde\-Shell des Benutzers\&. Falls dieses Feld leer gelassen wird, verwendet das System die Standard\-Anmelde\-Shell\&.
+The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
If the
diff --git a/man/de/man1/expiry.1 b/man/de/man1/expiry.1
index e0161e56..6cc8c4e5 100644
--- a/man/de/man1/expiry.1
+++ b/man/de/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "EXPIRY" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "EXPIRY" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/gpasswd.1 b/man/de/man1/gpasswd.1
index 4b13b351..6fdc0a2d 100644
--- a/man/de/man1/gpasswd.1
+++ b/man/de/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GPASSWD" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "GPASSWD" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,7 +147,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man1/groups.1 b/man/de/man1/groups.1
index 583d7828..58a19055 100644
--- a/man/de/man1/groups.1
+++ b/man/de/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GROUPS" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "GROUPS" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/id.1 b/man/de/man1/id.1
index 91b285d2..f2b79537 100644
--- a/man/de/man1/id.1
+++ b/man/de/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "ID" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "ID" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/login.1 b/man/de/man1/login.1
index abc3b502..a9ec0487 100644
--- a/man/de/man1/login.1
+++ b/man/de/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LOGIN" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "LOGIN" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/newgrp.1 b/man/de/man1/newgrp.1
index ffa6a27d..bd2edd22 100644
--- a/man/de/man1/newgrp.1
+++ b/man/de/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "NEWGRP" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "NEWGRP" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/passwd.1 b/man/de/man1/passwd.1
index aababb34..4c5526f5 100644
--- a/man/de/man1/passwd.1
+++ b/man/de/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "PASSWD" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "PASSWD" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man1/sg.1 b/man/de/man1/sg.1
index be4db9be..057259c5 100644
--- a/man/de/man1/sg.1
+++ b/man/de/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SG" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "SG" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man1/su.1 b/man/de/man1/su.1
index 748b696b..ee3bc50e 100644
--- a/man/de/man1/su.1
+++ b/man/de/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dienstprogramme f\(:ur Benutzer
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SU" "1" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dienstprogramme f\(:ur Benutzer"
+.TH "SU" "1" "22.07.2021" "shadow\-utils 4\&.9" "Dienstprogramme f\(:ur Benutzer"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man3/shadow.3 b/man/de/man3/shadow.3
index e221491d..24caa955 100644
--- a/man/de/man3/shadow.3
+++ b/man/de/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Bibliotheksaufrufe
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SHADOW" "3" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Bibliotheksaufrufe"
+.TH "SHADOW" "3" "22.07.2021" "shadow\-utils 4\&.9" "Bibliotheksaufrufe"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/faillog.5 b/man/de/man5/faillog.5
index 042ff706..fe3e1d1a 100644
--- a/man/de/man5/faillog.5
+++ b/man/de/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "FAILLOG" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "FAILLOG" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/gshadow.5 b/man/de/man5/gshadow.5
index 06e64765..588cb9ce 100644
--- a/man/de/man5/gshadow.5
+++ b/man/de/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GSHADOW" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "GSHADOW" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/limits.5 b/man/de/man5/limits.5
index 8fef7057..0c2539e1 100644
--- a/man/de/man5/limits.5
+++ b/man/de/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LIMITS" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "LIMITS" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/login.access.5 b/man/de/man5/login.access.5
index 9eedaf36..1fab4f9f 100644
--- a/man/de/man5/login.access.5
+++ b/man/de/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LOGIN\&.ACCESS" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "LOGIN\&.ACCESS" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/login.defs.5 b/man/de/man5/login.defs.5
index fb6ee098..bc2dbe34 100644
--- a/man/de/man5/login.defs.5
+++ b/man/de/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LOGIN\&.DEFS" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "LOGIN\&.DEFS" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -373,6 +384,11 @@ Falls angegeben, eine Aufz\(:ahlung von Dateien, welche die bei der Anmeldung an
Falls angegeben, der Name einer Datei, deren Existenz Anmeldungen au\(sser von Root verhindert\&. Der Inhalt der Datei sollte die Gr\(:unde enthalten, weshalb Anmeldungen untersagt sind\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Aktiviert zus\(:atzliche Tests bei der Ver\(:anderung eines Passworts\&.
@@ -395,7 +411,7 @@ Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&.
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -443,7 +459,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man5/passwd.5 b/man/de/man5/passwd.5
index e1e0b229..3db541ca 100644
--- a/man/de/man5/passwd.5
+++ b/man/de/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "PASSWD" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "PASSWD" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/de/man5/porttime.5 b/man/de/man5/porttime.5
index 88b06110..e0546468 100644
--- a/man/de/man5/porttime.5
+++ b/man/de/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "PORTTIME" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "PORTTIME" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man5/shadow.5 b/man/de/man5/shadow.5
index 45769af3..7027137b 100644
--- a/man/de/man5/shadow.5
+++ b/man/de/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SHADOW" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "SHADOW" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fBDatum, an dem das Passwort das letzte Mal ge\(:andert wurde\fR
.RS 4
-Das Datum, als das Passwort das letzte Mal ge\(:andert wurde, wird als Anzahl der Tage seit dem 1\&. Januar 1970 ausgedr\(:uckt\&.
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&.
.sp
@@ -72,7 +72,7 @@ Ein leeres Feld bedeutet, dass das Altern des Passworts abgeschaltet ist\&.
.RS 4
Das Mindestalter des Passworts ist die Anzahl von Tagen, die ein Benutzer warten muss, bevor er sein Passwort wieder \(:andern darf\&.
.sp
-Eine leeres Feld oder der Wert 0 bedeuten, dass es kein Mindestalter eines Passworts gibt\&.
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fBH\(:ochstalter des Passworts\fR
@@ -97,14 +97,14 @@ Ein leeres Feld oder der Wert 0 bedeutet, dass es keine Vorwarnung gibt\&.
.RS 4
Die Anzahl von Tagen, f\(:ur die ein Benutzer sein Passwort, nachdem es abgelaufen ist (vergleiche oben das H\(:ochstalter des Passworts), noch verwenden kann (und w\(:ahrend des n\(:achsten Logins \(:andern muss)\&.
.sp
-Nachdem das Passwort abgelaufen ist und auch die Dauer der Unt\(:atigkeit verstrichen ist, kann sich der Benutzer mit seinem Passwort nicht mehr anmelden\&. Er muss sich dann an den Administrator wenden\&.
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
Ein leeres Feld bedeutet, dass es keine H\(:ochstdauer zwischen Ablauf des Passworts und erneuter Anmeldung des Benutzers gibt\&.
.RE
.PP
\fBDatum des Verfalls des Kontos\fR
.RS 4
-Das Datum, an dem das Konto verf\(:allt, wird als Anzahl der Tage seit dem 1\&. Januar 1970 ausgedr\(:uckt\&.
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&.
.sp
diff --git a/man/de/man5/suauth.5 b/man/de/man5/suauth.5
index 073f9424..3c648190 100644
--- a/man/de/man5/suauth.5
+++ b/man/de/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Dateiformate und konvertierung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SUAUTH" "5" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Dateiformate und konvertierung"
+.TH "SUAUTH" "5" "22.07.2021" "shadow\-utils 4\&.9" "Dateiformate und konvertierung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/chgpasswd.8 b/man/de/man8/chgpasswd.8
index 6e566459..56372d45 100644
--- a/man/de/man8/chgpasswd.8
+++ b/man/de/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "CHGPASSWD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "CHGPASSWD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -121,7 +121,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man8/chpasswd.8 b/man/de/man8/chpasswd.8
index d75c6d91..650f1618 100644
--- a/man/de/man8/chpasswd.8
+++ b/man/de/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "CHPASSWD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "CHPASSWD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -139,7 +139,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man8/faillog.8 b/man/de/man8/faillog.8
index af253aa7..3390a22a 100644
--- a/man/de/man8/faillog.8
+++ b/man/de/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "FAILLOG" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "FAILLOG" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/groupadd.8 b/man/de/man8/groupadd.8
index 6743afa5..d594d79a 100644
--- a/man/de/man8/groupadd.8
+++ b/man/de/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GROUPADD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "GROUPADD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "KONFIGURATION"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/de/man8/groupdel.8 b/man/de/man8/groupdel.8
index 5b414128..90a8ec45 100644
--- a/man/de/man8/groupdel.8
+++ b/man/de/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GROUPDEL" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "GROUPDEL" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
zeigt die Hilfe an und beendet das Programm
diff --git a/man/de/man8/groupmems.8 b/man/de/man8/groupmems.8
index 13a3d967..5a8dfccc 100644
--- a/man/de/man8/groupmems.8
+++ b/man/de/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GROUPMEMS" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "GROUPMEMS" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/groupmod.8 b/man/de/man8/groupmod.8
index 515d02ad..6a5a6b2e 100644
--- a/man/de/man8/groupmod.8
+++ b/man/de/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GROUPMOD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "GROUPMOD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "KONFIGURATION"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/de/man8/grpck.8 b/man/de/man8/grpck.8
index 295d84fa..97faefc7 100644
--- a/man/de/man8/grpck.8
+++ b/man/de/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "GRPCK" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "GRPCK" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/de/man8/lastlog.8 b/man/de/man8/lastlog.8
index ce3821fe..fae9ad8f 100644
--- a/man/de/man8/lastlog.8
+++ b/man/de/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LASTLOG" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "LASTLOG" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -135,3 +135,7 @@ Datenbank mit Zeiten der letzten Anmeldung der Benutzer
.SH "WARNUNGEN"
.PP
Gro\(sse L\(:ucken in den UID\-Zahlen haben zur Folge, dass das Lastlog\-Programm l\(:angere Zeit ohne Bildschirmausgabe l\(:auft\&. Wenn sich z\&.B\&. in der Datenbank von Lastlog kein Eintrag f\(:ur Benutzer mit der UID zwischen 170 und 800 befindet, wird es scheinen, als ob lastlog stehen geblieben ist, w\(:ahrend es die Eintr\(:age mit der UID 171 bis 799 verarbeitet\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/de/man8/logoutd.8 b/man/de/man8/logoutd.8
index ea1d3da6..3a1c02c7 100644
--- a/man/de/man8/logoutd.8
+++ b/man/de/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "LOGOUTD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "LOGOUTD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/newusers.8 b/man/de/man8/newusers.8
index c81017cf..41d3bf32 100644
--- a/man/de/man8/newusers.8
+++ b/man/de/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "NEWUSERS" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "NEWUSERS" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ Dieses Feld wird in das GECOS\-Feld des Benutzers kopiert\&.
.RS 4
Mit diesem Feld wird das Home\-Verzeichnis des Benutzers definiert\&.
.sp
-Wenn in diesem Feld ein Verzeichnis angegeben wird, das nicht vorhanden ist, wird es erstellt\&. Dieses geh\(:ort dem Benutzer, der gerade erstellt und aktualisiert wird, und dessen Hauptgruppe\&.
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -193,7 +195,9 @@ Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Pass
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&.
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&.
.sp
-Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&.
.sp
diff --git a/man/de/man8/nologin.8 b/man/de/man8/nologin.8
index cb542ca5..68044d99 100644
--- a/man/de/man8/nologin.8
+++ b/man/de/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "NOLOGIN" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "NOLOGIN" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/pwck.8 b/man/de/man8/pwck.8
index 92d37cc8..d37b102b 100644
--- a/man/de/man8/pwck.8
+++ b/man/de/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "PWCK" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "PWCK" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
@@ -256,7 +261,7 @@ Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&.
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/de/man8/pwconv.8 b/man/de/man8/pwconv.8
index 33092eef..5f875fca 100644
--- a/man/de/man8/pwconv.8
+++ b/man/de/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "PWCONV" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "PWCONV" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -173,7 +173,7 @@ Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&.
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/de/man8/sulogin.8 b/man/de/man8/sulogin.8
index 4894f807..c6822bec 100644
--- a/man/de/man8/sulogin.8
+++ b/man/de/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "SULOGIN" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "SULOGIN" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/de/man8/useradd.8 b/man/de/man8/useradd.8
index 16c43c79..7e163024 100644
--- a/man/de/man8/useradd.8
+++ b/man/de/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "USERADD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "USERADD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -539,7 +543,7 @@ Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&.
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ sichere Informationen zu den Gruppenkonten
Standardwerte f\(:ur die Erstellung eines Kontos
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
Verzeichnis, das die Standarddateien enth\(:alt
diff --git a/man/de/man8/userdel.8 b/man/de/man8/userdel.8
index 8de9e4e6..e13a44a8 100644
--- a/man/de/man8/userdel.8
+++ b/man/de/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "USERDEL" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "USERDEL" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ Informationen zu den Benutzerkonten
verschl\(:usselte Informationen zu den Benutzerkonten
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/de/man8/usermod.8 b/man/de/man8/usermod.8
index 7183a397..0d04d49e 100644
--- a/man/de/man8/usermod.8
+++ b/man/de/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "USERMOD" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "USERMOD" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ das neue Home\-Verzeichnis des Benutzers
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ Der Name oder die Zahl der anf\(:anglichen Anmeldegruppe eines neuen Benutzers\&
Jede Datei im Home\-Verzeichnis des Benutzers, die der alten Hauptgruppe des Benutzers geh\(:orte, wird dieser neuen Gruppe geh\(:oren\&.
.sp
Die Gruppenzugeh\(:origkeit von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-verschiebt den Inhalt des Home\-Verzeichnisses eines Benutzers zu dem neuen Ziel
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Der Name der neuen Anmelde\-Shell des Benutzers\&. Falls dieses Feld leer gelassen wird, verwendet das System die Standard\-Anmelde\-Shell\&.
+Der Pfad der neuen Anmelde\-Shell des Benutzers\&. Falls dieses Feld leer gelassen wird, verwendet das System die Standard\-Anmelde\-Shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ F\(:ur die Mailbox des Benutzers und alle Dateien, die ihm geh\(:oren und sich i
.sp
Der Eigent\(:umer von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/de/man8/vipw.8 b/man/de/man8/vipw.8
index c7c59e4e..5ab693b6 100644
--- a/man/de/man8/vipw.8
+++ b/man/de/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23.01.2020
+.\" Date: 22.07.2021
.\" Manual: Befehle zur Systemverwaltung
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: German
.\"
-.TH "VIPW" "8" "23.01.2020" "shadow\-utils 4\&.8\&.1" "Befehle zur Systemverwaltung"
+.TH "VIPW" "8" "22.07.2021" "shadow\-utils 4\&.9" "Befehle zur Systemverwaltung"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/es/Makefile.in b/man/es/Makefile.in
index 8e33044e..463da5af 100644
--- a/man/es/Makefile.in
+++ b/man/es/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/es
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -146,7 +152,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -175,9 +180,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -215,7 +225,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -308,8 +317,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -333,10 +342,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/fi/Makefile.in b/man/fi/Makefile.in
index 2c197a22..49345c4c 100644
--- a/man/fi/Makefile.in
+++ b/man/fi/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/fi
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -177,7 +183,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -206,9 +211,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -246,7 +256,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -335,8 +344,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -403,10 +412,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in
index 67850600..365b4146 100644
--- a/man/fr/Makefile.in
+++ b/man/fr/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -93,8 +93,14 @@ host_triplet = @host@
@ENABLE_SUBIDS_FALSE@am__append_4 = $(man_subids)
subdir = man/fr
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -186,7 +192,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -215,9 +220,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -255,7 +265,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -371,8 +380,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -569,10 +578,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/fr/man1/chage.1 b/man/fr/man1/chage.1
index 9c727785..562b41cf 100644
--- a/man/fr/man1/chage.1
+++ b/man/fr/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "CHAGE" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "CHAGE" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-Configurer le nombre du jour, \(`a compter du 1er\ \&janvier\ \&1970, o\(`u le mot de passe a \('et\('e chang\('e la derni\(`ere fois\&. La date peut aussi \(^etre exprim\('ee dans le format AAAA\-MM\-JJ (ou le format utilis\('e plus commun\('ement dans votre r\('egion)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Configurer la date, ou le nombre de jours \(`a compter du 1er\ \&janvier\ \&1970, \(`a partir de laquelle le compte de l\*(Aqutilisateur ne sera plus accessible\&. La date peut aussi \(^etre exprim\('ee dans le format AAAA\-MM\-JJ (ou le format plus commun\('ement utilis\('e dans votre r\('egion)\&. Un utilisateur dont le compte est bloqu\('e doit contacter l\*(Aqadministrateur syst\(`eme pour pouvoir utiliser \(`a nouveau le syst\(`eme\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/fr/man1/chfn.1 b/man/fr/man1/chfn.1
index ae2622de..f00ad7b6 100644
--- a/man/fr/man1/chfn.1
+++ b/man/fr/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "CHFN" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "CHFN" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/chsh.1 b/man/fr/man1/chsh.1
index a50d861c..f49606c9 100644
--- a/man/fr/man1/chsh.1
+++ b/man/fr/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "CHSH" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "CHSH" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/expiry.1 b/man/fr/man1/expiry.1
index 9e95ce8a..2058b1f1 100644
--- a/man/fr/man1/expiry.1
+++ b/man/fr/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "EXPIRY" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "EXPIRY" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/gpasswd.1 b/man/fr/man1/gpasswd.1
index f7f6ccc8..c044a5b6 100644
--- a/man/fr/man1/gpasswd.1
+++ b/man/fr/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GPASSWD" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "GPASSWD" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,7 +147,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man1/groups.1 b/man/fr/man1/groups.1
index f84e1078..aa90d325 100644
--- a/man/fr/man1/groups.1
+++ b/man/fr/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GROUPS" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "GROUPS" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/id.1 b/man/fr/man1/id.1
index 52d93b7a..30bebbe9 100644
--- a/man/fr/man1/id.1
+++ b/man/fr/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "ID" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "ID" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/login.1 b/man/fr/man1/login.1
index 07b70f83..00b591de 100644
--- a/man/fr/man1/login.1
+++ b/man/fr/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LOGIN" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "LOGIN" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/newgidmap.1 b/man/fr/man1/newgidmap.1
index 4c1fee32..c10052b1 100644
--- a/man/fr/man1/newgidmap.1
+++ b/man/fr/man1/newgidmap.1
@@ -2,12 +2,12 @@
.\" Title: newgidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "NEWGIDMAP" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "NEWGIDMAP" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -38,8 +38,11 @@ The
\fBnewgidmap\fR
sets
/proc/[pid]/gid_map
-based on its command line arguments and the gids allowed in
-/etc/subgid\&. Note that the root user is not exempted from the requirement for a valid
+based on its command line arguments and the gids allowed\&. Subgid delegation can either be managed via
+/etc/subgid
+or through the configured NSS subid module\&. These options are mutually exclusive\&.
+.PP
+Note that the root group is not exempted from the requirement for a valid
/etc/subgid
entry\&.
.PP
@@ -65,7 +68,7 @@ Length of the ranges (both inside and outside the user namespace)\&.
\fBnewgidmap\fR
verifies that the caller is the owner of the process indicated by
\fBpid\fR
-and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count] is allowed to the caller according to
+and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count) is allowed to the caller according to
/etc/subgid
before setting
/proc/[pid]/gid_map\&.
diff --git a/man/fr/man1/newgrp.1 b/man/fr/man1/newgrp.1
index e60a24d2..c7e00069 100644
--- a/man/fr/man1/newgrp.1
+++ b/man/fr/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "NEWGRP" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "NEWGRP" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/newuidmap.1 b/man/fr/man1/newuidmap.1
index 21e55e64..64cd2b6e 100644
--- a/man/fr/man1/newuidmap.1
+++ b/man/fr/man1/newuidmap.1
@@ -2,12 +2,12 @@
.\" Title: newuidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "NEWUIDMAP" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "NEWUIDMAP" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -38,8 +38,11 @@ The
\fBnewuidmap\fR
sets
/proc/[pid]/uid_map
-based on its command line arguments and the uids allowed in
-/etc/subuid\&. Note that the root user is not exempted from the requirement for a valid
+based on its command line arguments and the uids allowed\&. Subuid delegation can either be managed via
+/etc/subuid
+or through the configured NSS subid module\&. These options are mutually exclusive\&.
+.PP
+Note that the root user is not exempted from the requirement for a valid
/etc/subuid
entry\&.
.PP
@@ -65,7 +68,7 @@ Length of the ranges (both inside and outside the user namespace)\&.
\fBnewuidmap\fR
verifies that the caller is the owner of the process indicated by
\fBpid\fR
-and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count] is allowed to the caller according to
+and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count) is allowed to the caller according to
/etc/subuid
before setting
/proc/[pid]/uid_map\&.
diff --git a/man/fr/man1/passwd.1 b/man/fr/man1/passwd.1
index 446e85b1..b7981fe0 100644
--- a/man/fr/man1/passwd.1
+++ b/man/fr/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "PASSWD" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "PASSWD" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man1/sg.1 b/man/fr/man1/sg.1
index 7cb27168..cadcfafc 100644
--- a/man/fr/man1/sg.1
+++ b/man/fr/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SG" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "SG" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man1/su.1 b/man/fr/man1/su.1
index 72dcc40a..ce5416a7 100644
--- a/man/fr/man1/su.1
+++ b/man/fr/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes utilisateur
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SU" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes utilisateur"
+.TH "SU" "1" "22/07/2021" "shadow\-utils 4\&.9" "Commandes utilisateur"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man3/shadow.3 b/man/fr/man3/shadow.3
index 6ce492bf..ff5933ef 100644
--- a/man/fr/man3/shadow.3
+++ b/man/fr/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Appels de biblioth\(`eque
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SHADOW" "3" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Appels de biblioth\(`eque"
+.TH "SHADOW" "3" "22/07/2021" "shadow\-utils 4\&.9" "Appels de biblioth\(`eque"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/faillog.5 b/man/fr/man5/faillog.5
index 8901a5ab..40fc171f 100644
--- a/man/fr/man5/faillog.5
+++ b/man/fr/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "FAILLOG" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "FAILLOG" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/gshadow.5 b/man/fr/man5/gshadow.5
index b8b40ae8..1201f97f 100644
--- a/man/fr/man5/gshadow.5
+++ b/man/fr/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GSHADOW" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "GSHADOW" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/limits.5 b/man/fr/man5/limits.5
index d59f36ec..361c1839 100644
--- a/man/fr/man5/limits.5
+++ b/man/fr/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LIMITS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "LIMITS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/login.access.5 b/man/fr/man5/login.access.5
index a13b46ce..bb15a6ec 100644
--- a/man/fr/man5/login.access.5
+++ b/man/fr/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LOGIN\&.ACCESS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "LOGIN\&.ACCESS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/login.defs.5 b/man/fr/man5/login.defs.5
index d1f923bf..5b4092a4 100644
--- a/man/fr/man5/login.defs.5
+++ b/man/fr/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LOGIN\&.DEFS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "LOGIN\&.DEFS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -372,6 +383,11 @@ Si d\('efinie, liste d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc de fichiers de \(
Si d\('efinie, nom de fichier dont la pr\('esence emp\(^echera les connexions de quelqu\*(Aqun d\*(Aqautre que le superutilisateur\&. Le contenu de ces fichiers doit \(^etre un message indiquant pourquoi les connexions sont d\('esactiv\('ees\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Activer des v\('erifications suppl\('ementaires lors des changements de mot de passe\&.
@@ -394,7 +410,7 @@ Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette d
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -442,7 +458,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man5/passwd.5 b/man/fr/man5/passwd.5
index 99cc56ee..af35e5ed 100644
--- a/man/fr/man5/passwd.5
+++ b/man/fr/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "PASSWD" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "PASSWD" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/fr/man5/porttime.5 b/man/fr/man5/porttime.5
index 129af197..ee2c6277 100644
--- a/man/fr/man5/porttime.5
+++ b/man/fr/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "PORTTIME" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "PORTTIME" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/shadow.5 b/man/fr/man5/shadow.5
index 75d1da8f..1806908e 100644
--- a/man/fr/man5/shadow.5
+++ b/man/fr/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SHADOW" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "SHADOW" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fBdate du dernier changement de mot de passe\fR
.RS 4
-La date du dernier changement de mot de passe, exprim\('ee en nombre de jours depuis le 1er\ \&janvier\ \&1970\&.
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
La valeur 0 a une signification particuli\(`ere\ \&: l\*(Aqutilisateur devra changer son mot de passe la prochaine fois qu\*(Aqil se connectera au syst\(`eme\&.
.sp
@@ -72,7 +72,7 @@ Un champ vide indique que les fonctionnalit\('es de vieillissement de mot de pas
.RS 4
L\*(Aq\(^age minimum du mot de passe est la dur\('ee (en jour) que l\*(Aqutilisateur devra attendre avant de pouvoir le changer de nouveau\&.
.sp
-Un champ vide ou une valeur de 0 signifie qu\*(Aqil n\*(Aqy a pas d\*(Aq\(^age minimum pour le mot de passe\&.
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fB\(^age maximum du mot de passe\fR
@@ -97,14 +97,14 @@ Un champ vide ou une valeur de 0 signifie qu\*(Aqil n\*(Aqy aura pas de p\('erio
.RS 4
La dur\('ee (en jour) pendant laquelle le mot de passe sera quand m\(^eme accept\('e apr\(`es son expiration (voir l\*(Aq\(^age maximum du mot de passe ci\-dessus)\&. L\*(Aqutilisateur devra mettre \(`a jour son mot de passe \(`a la prochaine connexion\&.
.sp
-Apr\(`es expiration du mot de passe suivie de la p\('eriode d\*(Aqexpiration, plus aucune connexion n\*(Aqest possible en utilisant le mot de passe de l\*(Aqutilisateur\&. L\*(Aqutilisateur doit contacter son administrateur\&.
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
Un champ vide signifie qu\*(Aqaucune p\('eriode d\*(Aqinactivit\('e n\*(Aqest impos\('ee\&.
.RE
.PP
\fBdate de fin de validit\('e du compte\fR
.RS 4
-La date d\*(Aqexpiration du compte, exprim\('e en nombre de jours depuis le 1er\ \&janvier\ \&1970\&.
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Veuillez noter que l\*(Aqexpiration d\*(Aqun compte diff\(`ere de l\*(Aqexpiration d\*(Aqun mot de passe\&. En cas d\*(Aqexpiration d\*(Aqun compte, l\*(Aqutilisateur ne sera plus autoris\('e \(`a se connecter\&. En cas d\*(Aqexpiration d\*(Aqun mot de passe, l\*(Aqutilisateur n\*(Aqest pas autoris\('e \(`a se connecter en utilisant son mot de passe\&.
.sp
diff --git a/man/fr/man5/suauth.5 b/man/fr/man5/suauth.5
index 960a33e6..c91567b9 100644
--- a/man/fr/man5/suauth.5
+++ b/man/fr/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SUAUTH" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "SUAUTH" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man5/subgid.5 b/man/fr/man5/subgid.5
index be6a05fc..5d015468 100644
--- a/man/fr/man5/subgid.5
+++ b/man/fr/man5/subgid.5
@@ -2,12 +2,12 @@
.\" Title: subgid
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SUBGID" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "SUBGID" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,9 +28,29 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOM"
-subgid \- the subordinate gid file
+subgid \- the configuration for subordinate group ids
.SH "DESCRIPTION"
.PP
+Subgid authorizes a group id to map ranges of group ids from its namespace into child namespaces\&.
+.PP
+The delegation of the subordinate gids can be configured via the
+\fIsubid\fR
+field in
+/etc/nsswitch\&.conf
+file\&. Only one value can be set as the delegation source\&. Setting this field to
+\fIfiles\fR
+configures the delegation of gids to
+/etc/subgid\&. Setting any other value treats the delegation as a plugin following with a name of the form
+\fIlibsubid_$value\&.so\fR\&. If the value or plugin is missing, then the subordinate gid delegation falls back to
+\fIfiles\fR\&.
+.PP
+Note, that
+\fBgroupadd\fR
+will only create entries in
+/etc/subgid
+if subid delegation is managed via subid files\&.
+.SH "LOCAL SUBORDINATE DELEGATION"
+.PP
Each line in
/etc/subgid
contains a user name and a range of subordinate group ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(Fo\ \&:\ \&\(Fc)\&. These fields are:
diff --git a/man/fr/man5/subuid.5 b/man/fr/man5/subuid.5
index 6078bd65..b7b6487c 100644
--- a/man/fr/man5/subuid.5
+++ b/man/fr/man5/subuid.5
@@ -2,12 +2,12 @@
.\" Title: subuid
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formats et conversions de fichiers
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SUBUID" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formats et conversions de fich"
+.TH "SUBUID" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formats et conversions de fich"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,9 +28,29 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOM"
-subuid \- the subordinate uid file
+subuid \- the configuration for subordinate user ids
.SH "DESCRIPTION"
.PP
+Subuid authorizes a user id to map ranges of user ids from its namespace into child namespaces\&.
+.PP
+The delegation of the subordinate uids can be configured via the
+\fIsubid\fR
+field in
+/etc/nsswitch\&.conf
+file\&. Only one value can be set as the delegation source\&. Setting this field to
+\fIfiles\fR
+configures the delegation of uids to
+/etc/subuid\&. Setting any other value treats the delegation as a plugin following with a name of the form
+\fIlibsubid_$value\&.so\fR\&. If the value or plugin is missing, then the subordinate uid delegation falls back to
+\fIfiles\fR\&.
+.PP
+Note, that
+\fBuseradd\fR
+will only create entries in
+/etc/subuid
+if subid delegation is managed via subid files\&.
+.SH "LOCAL SUBORDINATE DELEGATION"
+.PP
Each line in
/etc/subuid
contains a user name and a range of subordinate user ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(Fo\ \&:\ \&\(Fc)\&. These fields are:
diff --git a/man/fr/man8/chgpasswd.8 b/man/fr/man8/chgpasswd.8
index 91250af1..f17e16ab 100644
--- a/man/fr/man8/chgpasswd.8
+++ b/man/fr/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "CHGPASSWD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "CHGPASSWD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -121,7 +121,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man8/chpasswd.8 b/man/fr/man8/chpasswd.8
index e86a004d..b97e946a 100644
--- a/man/fr/man8/chpasswd.8
+++ b/man/fr/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "CHPASSWD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "CHPASSWD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -139,7 +139,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man8/faillog.8 b/man/fr/man8/faillog.8
index ce85c7c0..81c69f8d 100644
--- a/man/fr/man8/faillog.8
+++ b/man/fr/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "FAILLOG" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "FAILLOG" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man8/groupadd.8 b/man/fr/man8/groupadd.8
index 3ff9253f..6c245755 100644
--- a/man/fr/man8/groupadd.8
+++ b/man/fr/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GROUPADD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "GROUPADD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/fr/man8/groupdel.8 b/man/fr/man8/groupdel.8
index 44788f78..d02df2fc 100644
--- a/man/fr/man8/groupdel.8
+++ b/man/fr/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GROUPDEL" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "GROUPDEL" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Afficher un message d\*(Aqaide et quitter\&.
diff --git a/man/fr/man8/groupmems.8 b/man/fr/man8/groupmems.8
index df549b3a..df16b497 100644
--- a/man/fr/man8/groupmems.8
+++ b/man/fr/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GROUPMEMS" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "GROUPMEMS" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man8/groupmod.8 b/man/fr/man8/groupmod.8
index d44f5116..143d2092 100644
--- a/man/fr/man8/groupmod.8
+++ b/man/fr/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GROUPMOD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "GROUPMOD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/fr/man8/grpck.8 b/man/fr/man8/grpck.8
index 04d27c45..456a8e51 100644
--- a/man/fr/man8/grpck.8
+++ b/man/fr/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "GRPCK" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "GRPCK" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/fr/man8/lastlog.8 b/man/fr/man8/lastlog.8
index e529cfa6..f6659b1a 100644
--- a/man/fr/man8/lastlog.8
+++ b/man/fr/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LASTLOG" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "LASTLOG" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -137,3 +137,7 @@ Base de donn\('ees de l\*(Aqheure des connexions pr\('ec\('edentes des utilisate
S\*(Aqil y a des trous importants dans les valeurs des UID,
\fBlastlog\fR
s\*(Aqex\('ecutera plus lentement, sans affichage \(`a l\*(Aq\('ecran (par exemple, s\*(Aqil n\*(Aqy a pas d\*(Aqentr\('ee pour les utilisateurs ayant un UID compris entre 170 et 800 dans base de donn\('ees lastlog, le programme lastlog semblera bloqu\('e comme s\*(Aqil traitait les entr\('ees correspondant aux UID 171 \(`a 799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/fr/man8/logoutd.8 b/man/fr/man8/logoutd.8
index 80b7fdcd..5a2bfbfa 100644
--- a/man/fr/man8/logoutd.8
+++ b/man/fr/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "LOGOUTD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "LOGOUTD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man8/newusers.8 b/man/fr/man8/newusers.8
index 01ecc4cf..a32e0868 100644
--- a/man/fr/man8/newusers.8
+++ b/man/fr/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "NEWUSERS" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "NEWUSERS" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ Ce champ est copi\('e dans le champ GECOS de l\*(Aqutilisateur\&.
.RS 4
Ce champ est utilis\('e pour d\('efinir le r\('epertoire personnel de l\*(Aqutilisateur\&.
.sp
-Si ce champ n\*(Aqindique pas de r\('epertoire existant, le r\('epertoire indiqu\('e est cr\('e\('e, avec comme propri\('etaire l\*(Aqutilisateur en cours de cr\('eation ou mis \(`a jour et son groupe primaire\&.
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -193,7 +195,9 @@ D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette d
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&.
.sp
-Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&.
.sp
diff --git a/man/fr/man8/nologin.8 b/man/fr/man8/nologin.8
index a21be943..2f3c8da0 100644
--- a/man/fr/man8/nologin.8
+++ b/man/fr/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "NOLOGIN" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "NOLOGIN" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man8/pwck.8 b/man/fr/man8/pwck.8
index 39f0a98e..ba9bbe46 100644
--- a/man/fr/man8/pwck.8
+++ b/man/fr/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "PWCK" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "PWCK" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
@@ -256,7 +261,7 @@ Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette d
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/fr/man8/pwconv.8 b/man/fr/man8/pwconv.8
index afd46da4..d37d0c6b 100644
--- a/man/fr/man8/pwconv.8
+++ b/man/fr/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "PWCONV" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "PWCONV" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -173,7 +173,7 @@ Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette d
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/fr/man8/sulogin.8 b/man/fr/man8/sulogin.8
index c1bb5b30..060776ec 100644
--- a/man/fr/man8/sulogin.8
+++ b/man/fr/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "SULOGIN" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "SULOGIN" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/fr/man8/useradd.8 b/man/fr/man8/useradd.8
index 68bda49e..9893649b 100644
--- a/man/fr/man8/useradd.8
+++ b/man/fr/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "USERADD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "USERADD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -539,7 +543,7 @@ Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette d
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ Informations s\('ecuris\('ees sur les groupes\&.
Valeurs par d\('efaut pour la cr\('eation de comptes\&.
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
R\('epertoire contenant les fichiers par d\('efaut\&.
diff --git a/man/fr/man8/userdel.8 b/man/fr/man8/userdel.8
index 9f2933c5..ec5c79e6 100644
--- a/man/fr/man8/userdel.8
+++ b/man/fr/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "USERDEL" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "USERDEL" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ Informations sur les comptes des utilisateurs\&.
Informations s\('ecuris\('ees sur les comptes utilisateurs\&.
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
IDs des groupes subalternes d\*(Aqun utilisateur\&.
diff --git a/man/fr/man8/usermod.8 b/man/fr/man8/usermod.8
index 55dcd7ca..03bcdae8 100644
--- a/man/fr/man8/usermod.8
+++ b/man/fr/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "USERMOD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "USERMOD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ Le nouveau r\('epertoire personnel de l\*(Aqutilisateur\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ Nom du groupe ou identifiant num\('erique du groupe de connexion initial de l\*(
Tout fichier du r\('epertoire personnel de l\*(Aqutilisateur appartenant au groupe primaire pr\('ec\('edent de l\*(Aqutilisateur appartiendra \(`a ce nouveau groupe\&.
.sp
Le groupe propri\('etaire des fichiers en dehors du r\('epertoire personnel de l\*(Aqutilisateur doit \(^etre modifi\('e manuellement\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-D\('eplacer le contenu du r\('epertoire personnel de l\*(Aqutilisateur vers un nouvel emplacement\&.
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Nom du nouvel interpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) de l\*(Aqutilisateur\&. Si ce champ est vide, le syst\(`eme s\('electionnera l\*(Aqinterpr\('eteur de commandes initial par d\('efaut\&.
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ La bo\(^ite aux lettres et tous les fichiers poss\('ed\('es par l\*(Aqutilisateu
.sp
Le propri\('etaire des fichiers en dehors du r\('epertoire personnel de l\*(Aqutilisateur doit \(^etre modifi\('e manuellement\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/fr/man8/vipw.8 b/man/fr/man8/vipw.8
index e45bc220..b8baa686 100644
--- a/man/fr/man8/vipw.8
+++ b/man/fr/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Commandes de gestion du syst\(`eme
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: French
.\"
-.TH "VIPW" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Commandes de gestion du syst\(`em"
+.TH "VIPW" "8" "22/07/2021" "shadow\-utils 4\&.9" "Commandes de gestion du syst\(`em"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
index 1e58f093..56803b3c 100644
--- a/man/groupadd.8.xml
+++ b/man/groupadd.8.xml
@@ -229,6 +229,22 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <option>-U</option>, <option>--users</option>
+ </term>
+ <listitem>
+ <para>
+ A list of usernames to add as members of the group.
+ </para>
+ <para>
+ The default behavior (if the <option>-g</option>,
+ <option>-N</option>, and <option>-U</option> options are not
+ specified) is defined by the <option>USERGROUPS_ENAB</option>
+ variable in <filename>/etc/login.defs</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
@@ -318,13 +334,13 @@
<varlistentry>
<term><replaceable>4</replaceable></term>
<listitem>
- <para>GID not unique (when <option>-o</option> not used)</para>
+ <para>GID is already used (when called without <option>-o</option>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>9</replaceable></term>
<listitem>
- <para>group name not unique</para>
+ <para>group name is already used</para>
</listitem>
</varlistentry>
<varlistentry>
diff --git a/man/groupdel.8.xml b/man/groupdel.8.xml
index 41116617..d06db096 100644
--- a/man/groupdel.8.xml
+++ b/man/groupdel.8.xml
@@ -92,6 +92,17 @@
</para>
<variablelist remap='IP'>
<varlistentry>
+ <term>
+ <option>-f</option>, <option>--force</option>
+ </term>
+ <listitem>
+ <para>
+ This option forces the removal of the group, even if there's some user
+ having the group as the primary one.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>-h</option>, <option>--help</option></term>
<listitem>
<para>Display help message and exit.</para>
diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml
index b381c33a..10062b08 100644
--- a/man/groupmod.8.xml
+++ b/man/groupmod.8.xml
@@ -94,6 +94,15 @@
<variablelist remap='IP'>
<varlistentry>
<term>
+ <option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</replaceable>
+ </term>
+ <listitem>
+ <para>If group members are specified with -U, append them to the existing
+ member list, rather than replacing it.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</replaceable>
</term>
<listitem>
@@ -203,6 +212,22 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <option>-U</option>, <option>--users</option>
+ </term>
+ <listitem>
+ <para>
+ A list of usernames to add as members of the group.
+ </para>
+ <para>
+ The default behavior (if the <option>-g</option>,
+ <option>-N</option>, and <option>-U</option> options are not
+ specified) is defined by the <option>USERGROUPS_ENAB</option>
+ variable in <filename>/etc/login.defs</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
@@ -274,7 +299,7 @@
<varlistentry>
<term><replaceable>4</replaceable></term>
<listitem>
- <para>E_GID_IN_USE: specified group doesn't exist</para>
+ <para>E_GID_IN_USE: group id already in use</para>
</listitem>
</varlistentry>
<varlistentry>
diff --git a/man/grpck.8.xml b/man/grpck.8.xml
index 77c4bd86..d1661614 100644
--- a/man/grpck.8.xml
+++ b/man/grpck.8.xml
@@ -34,7 +34,6 @@
<!-- SHADOW-CONFIG-HERE -->
]>
<refentry id='grpck.8'>
- <!-- $Id$ -->
<refentryinfo>
<author>
<firstname>Julianne Frances</firstname>
@@ -192,6 +191,17 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-S</option>, <option>--silence-warnings</option></term>
+ <listitem>
+ <para>
+ Suppress more controversial warnings, in particular warnings about
+ inconsistency between group members listed in
+ <filename>/etc/group</filename> and
+ <filename>/etc/ghadow</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
<para>
By default, <command>grpck</command> operates on
diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in
index f2ffb334..0ee1c04a 100644
--- a/man/hu/Makefile.in
+++ b/man/hu/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/hu
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -342,8 +351,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -496,10 +505,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/id/Makefile.in b/man/id/Makefile.in
index ebf4a793..e4756a59 100644
--- a/man/id/Makefile.in
+++ b/man/id/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/id
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -178,7 +184,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -207,9 +212,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -247,7 +257,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -333,8 +342,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -444,10 +453,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/it/Makefile.in b/man/it/Makefile.in
index 5d3ec599..a9b70e21 100644
--- a/man/it/Makefile.in
+++ b/man/it/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/it
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -362,8 +371,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -560,10 +569,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/it/man1/chage.1 b/man/it/man1/chage.1
index 3f1f0872..581d18f2 100644
--- a/man/it/man1/chage.1
+++ b/man/it/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "CHAGE" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "CHAGE" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-Imposta la data dell\*(Aqultimo cambio della password, espressa come il numero di giorni trascorsi dal 1 gennaio 1970\&. La data pu\(`o anche essere specificata nel formato AAAA\-MM\-GG o nella notazione comunemente usata nel proprio paese\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Imposta la data o il numero di giorni dal 1 gennaio 1970 dal quale l\*(Aqaccount utente non sar\(`a pi\(`u accessibile\&. La data pu\(`o essere inserita nel formato AAAA\-MM\-GG (o il formato pi\(`u comunemente utilizzato nel proprio paese)\&. Un utente il cui account sia bloccato deve contattare l\*(Aqamministratore di sistema prima di poter accedere nuovamente al sistema\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/it/man1/chfn.1 b/man/it/man1/chfn.1
index a4b343e3..2f62fcfa 100644
--- a/man/it/man1/chfn.1
+++ b/man/it/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "CHFN" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "CHFN" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/chsh.1 b/man/it/man1/chsh.1
index 75c6263d..9631ac06 100644
--- a/man/it/man1/chsh.1
+++ b/man/it/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "CHSH" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "CHSH" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/expiry.1 b/man/it/man1/expiry.1
index dc6ba869..d189e2de 100644
--- a/man/it/man1/expiry.1
+++ b/man/it/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "EXPIRY" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "EXPIRY" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/gpasswd.1 b/man/it/man1/gpasswd.1
index 5e71fc5a..dcf9d0f5 100644
--- a/man/it/man1/gpasswd.1
+++ b/man/it/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GPASSWD" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "GPASSWD" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,7 +147,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man1/groups.1 b/man/it/man1/groups.1
index fbbc9761..c0a46d35 100644
--- a/man/it/man1/groups.1
+++ b/man/it/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GROUPS" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "GROUPS" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/id.1 b/man/it/man1/id.1
index 84267bb3..028a5a47 100644
--- a/man/it/man1/id.1
+++ b/man/it/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "ID" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "ID" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/login.1 b/man/it/man1/login.1
index 4e2af263..7bbd2bc7 100644
--- a/man/it/man1/login.1
+++ b/man/it/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LOGIN" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "LOGIN" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/newgrp.1 b/man/it/man1/newgrp.1
index e22b925e..005e9bb4 100644
--- a/man/it/man1/newgrp.1
+++ b/man/it/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "NEWGRP" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "NEWGRP" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/passwd.1 b/man/it/man1/passwd.1
index ee063579..3c2f2807 100644
--- a/man/it/man1/passwd.1
+++ b/man/it/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "PASSWD" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "PASSWD" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man1/sg.1 b/man/it/man1/sg.1
index 5d6ad20d..2b28663a 100644
--- a/man/it/man1/sg.1
+++ b/man/it/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SG" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "SG" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man1/su.1 b/man/it/man1/su.1
index 5b719a37..0b04e8c9 100644
--- a/man/it/man1/su.1
+++ b/man/it/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi utente
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SU" "1" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi utente"
+.TH "SU" "1" "22/07/2021" "shadow\-utils 4\&.9" "Comandi utente"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man3/shadow.3 b/man/it/man3/shadow.3
index 0b373f74..db989992 100644
--- a/man/it/man3/shadow.3
+++ b/man/it/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Chiamate di libreria
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SHADOW" "3" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Chiamate di libreria"
+.TH "SHADOW" "3" "22/07/2021" "shadow\-utils 4\&.9" "Chiamate di libreria"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/faillog.5 b/man/it/man5/faillog.5
index 157d85f5..9c83f81b 100644
--- a/man/it/man5/faillog.5
+++ b/man/it/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "FAILLOG" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "FAILLOG" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/gshadow.5 b/man/it/man5/gshadow.5
index 5417f088..7fecfa72 100644
--- a/man/it/man5/gshadow.5
+++ b/man/it/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GSHADOW" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "GSHADOW" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/limits.5 b/man/it/man5/limits.5
index 491cf336..ee188216 100644
--- a/man/it/man5/limits.5
+++ b/man/it/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LIMITS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "LIMITS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/login.access.5 b/man/it/man5/login.access.5
index 2af15c1d..8d824e2b 100644
--- a/man/it/man5/login.access.5
+++ b/man/it/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LOGIN\&.ACCESS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "LOGIN\&.ACCESS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/login.defs.5 b/man/it/man5/login.defs.5
index 970ed4ab..44a18f3f 100644
--- a/man/it/man5/login.defs.5
+++ b/man/it/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LOGIN\&.DEFS" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "LOGIN\&.DEFS" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -372,6 +383,11 @@ Se definito \(`e una lista di nomi di file con \(Fomessaggi del giorno\(Fc separ
Se definito \(`e il nome di un file che impedisce l\*(Aqaccesso degli utenti non root\&. Il suo contenuto dovrebbe essere un messaggio che indica il motivo per il quale l\*(Aqaccesso \(`e impedito\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Abilita controlli addizionali durante il cambio password\&.
@@ -394,7 +410,7 @@ Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la p
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -442,7 +458,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man5/passwd.5 b/man/it/man5/passwd.5
index c2665bd5..d6676e34 100644
--- a/man/it/man5/passwd.5
+++ b/man/it/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "PASSWD" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "PASSWD" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/it/man5/porttime.5 b/man/it/man5/porttime.5
index 0b169ad5..e05a8c45 100644
--- a/man/it/man5/porttime.5
+++ b/man/it/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "PORTTIME" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "PORTTIME" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man5/shadow.5 b/man/it/man5/shadow.5
index 3a66bc0c..1a1238bc 100644
--- a/man/it/man5/shadow.5
+++ b/man/it/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SHADOW" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "SHADOW" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fBdata dell\*(Aqultimo cambio di password\fR
.RS 4
-Data dell\*(Aqultimo cambio di password espressa in numero di giorni a partire dal 1 gennaio 1970\&.
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&.
.sp
@@ -72,7 +72,7 @@ Un campo vuoto implica che la scadenza della password \(`e disabilitata\&.
.RS 4
L\*(Aqet\(`a minima password \(`e il numero di giorni che l\*(Aqutente dovr\(`a attendere prima di poter cambiare nuovamente la propria password\&.
.sp
-Un campo vuoto o con valore 0 indica che non c\*(Aq\(`e una et\(`a minima della password\&.
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fBet\(`a massima password\fR
@@ -97,14 +97,14 @@ Un campo vuoto e il valore 0 indicano che non c\*(Aq\(`e un periodo di avviso pa
.RS 4
Il numero di giorni dopo la scadenza della password (vedere et\(`a massima password, sopra) durante il quale la password \(`e ancora accettata (e l\*(Aqutente dovrebbe aggiornare la propria password al primo accesso)\&.
.sp
-Dopo la scadenza della password e di questo periodo, l\*(Aqutente non potr\(`a accedere usando questa password, ma dovr\(`a contattare l\*(Aqamministratore\&.
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
Un campo vuoto implica che non \(`e applicato il periodo di inattivit\(`a\&.
.RE
.PP
\fBdata scadenza account\fR
.RS 4
-La data di scadenza dell\*(Aqaccount, espressa in numero di giorni dal 1 gennaio 1970\&.
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&.
.sp
diff --git a/man/it/man5/suauth.5 b/man/it/man5/suauth.5
index 77246542..067854bd 100644
--- a/man/it/man5/suauth.5
+++ b/man/it/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Formati di file e conversioni
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SUAUTH" "5" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Formati di file e conversioni"
+.TH "SUAUTH" "5" "22/07/2021" "shadow\-utils 4\&.9" "Formati di file e conversioni"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/chgpasswd.8 b/man/it/man8/chgpasswd.8
index abe2ae38..bc6a3fd7 100644
--- a/man/it/man8/chgpasswd.8
+++ b/man/it/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "CHGPASSWD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "CHGPASSWD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -121,7 +121,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man8/chpasswd.8 b/man/it/man8/chpasswd.8
index e704d8c3..ce0f98fd 100644
--- a/man/it/man8/chpasswd.8
+++ b/man/it/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "CHPASSWD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "CHPASSWD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -139,7 +139,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man8/faillog.8 b/man/it/man8/faillog.8
index 11d0c12d..318bb5ed 100644
--- a/man/it/man8/faillog.8
+++ b/man/it/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "FAILLOG" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "FAILLOG" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/groupadd.8 b/man/it/man8/groupadd.8
index 7421e62c..c9da269a 100644
--- a/man/it/man8/groupadd.8
+++ b/man/it/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GROUPADD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "GROUPADD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURAZIONE"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/it/man8/groupdel.8 b/man/it/man8/groupdel.8
index 1d515a47..d059dcc9 100644
--- a/man/it/man8/groupdel.8
+++ b/man/it/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GROUPDEL" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "GROUPDEL" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Mostra un messaggio di aiuto ed esce\&.
diff --git a/man/it/man8/groupmems.8 b/man/it/man8/groupmems.8
index 94aeca57..ff0a0316 100644
--- a/man/it/man8/groupmems.8
+++ b/man/it/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GROUPMEMS" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "GROUPMEMS" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/groupmod.8 b/man/it/man8/groupmod.8
index fb99b616..ccfa5313 100644
--- a/man/it/man8/groupmod.8
+++ b/man/it/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GROUPMOD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "GROUPMOD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURAZIONE"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/it/man8/grpck.8 b/man/it/man8/grpck.8
index b3b479ce..f4bd23a3 100644
--- a/man/it/man8/grpck.8
+++ b/man/it/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "GRPCK" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "GRPCK" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/it/man8/lastlog.8 b/man/it/man8/lastlog.8
index 32a8a16c..b70ce8b4 100644
--- a/man/it/man8/lastlog.8
+++ b/man/it/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LASTLOG" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "LASTLOG" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -136,3 +136,7 @@ Database degli orari dei precedenti accessi utente\&.
.SH "AVVISI/CAVEAT"
.PP
Se ci sono dei grossi scarti tra i valori di UID, il programma lastlog pu\(`o restare in esecuzione per un tempo prolungato senza produrre output sullo schermo (ad es\&. se nel database lastlog non ci sono registrazioni per UID tra 170 e 800, il programma sembrer\(`a bloccato mentre esamina gli UID tra 171 e 799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/it/man8/logoutd.8 b/man/it/man8/logoutd.8
index 420a3469..1f8c50ce 100644
--- a/man/it/man8/logoutd.8
+++ b/man/it/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "LOGOUTD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "LOGOUTD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/newusers.8 b/man/it/man8/newusers.8
index 20113e5b..e00cc413 100644
--- a/man/it/man8/newusers.8
+++ b/man/it/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "NEWUSERS" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "NEWUSERS" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ Questo campo viene copiato nel campo GECOS dell\*(Aqutente\&.
.RS 4
Questo campo \(`e utilizzato per impostare la directory home dell\*(Aqutente\&.
.sp
-Se questo campo non contiene il nome di una directory esistente la directory viene creata, assegnandone la propriet\(`a all\*(Aqutente che si sta definendo o aggiornando e al suo gruppo primario\&.
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -193,7 +195,9 @@ Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne vi
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la p
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&.
.sp
-Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&.
.sp
diff --git a/man/it/man8/nologin.8 b/man/it/man8/nologin.8
index c56b345f..3b6a1e18 100644
--- a/man/it/man8/nologin.8
+++ b/man/it/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "NOLOGIN" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "NOLOGIN" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/pwck.8 b/man/it/man8/pwck.8
index a3b12b6a..f9dd3617 100644
--- a/man/it/man8/pwck.8
+++ b/man/it/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "PWCK" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "PWCK" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
@@ -256,7 +261,7 @@ Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la p
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/it/man8/pwconv.8 b/man/it/man8/pwconv.8
index 176ee8a2..d2b78205 100644
--- a/man/it/man8/pwconv.8
+++ b/man/it/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "PWCONV" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "PWCONV" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -173,7 +173,7 @@ Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la p
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/it/man8/sulogin.8 b/man/it/man8/sulogin.8
index 7ee9ab68..aea2da55 100644
--- a/man/it/man8/sulogin.8
+++ b/man/it/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "SULOGIN" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "SULOGIN" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/it/man8/useradd.8 b/man/it/man8/useradd.8
index d87831da..4fbe723a 100644
--- a/man/it/man8/useradd.8
+++ b/man/it/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "USERADD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "USERADD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -539,7 +543,7 @@ Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la p
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ Informazioni sicure sugli account di gruppo\&.
Valori predefiniti per la creazione dell\*(Aqaccount\&.
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
Directory contenente i file predefiniti\&.
diff --git a/man/it/man8/userdel.8 b/man/it/man8/userdel.8
index aa099203..2c6ca624 100644
--- a/man/it/man8/userdel.8
+++ b/man/it/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "USERDEL" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "USERDEL" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ Informazioni sugli account utente\&.
Informazioni sicure sugli account utente\&.
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/it/man8/usermod.8 b/man/it/man8/usermod.8
index d0f24097..4703cb96 100644
--- a/man/it/man8/usermod.8
+++ b/man/it/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "USERMOD" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "USERMOD" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ La nuova directory home dell\*(Aqutente\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ Il nome o numero del gruppo da assegnare alla connessione dell\*(Aqutente\&. Il
Tutti i file nella directory home dell\*(Aqutente che hanno come gruppo il precedente gruppo primario dell\*(Aqutente stesso verranno modificati perch\('e abbiano questo nuovo gruppo\&.
.sp
Il gruppo dei file che si trovano all\*(Aqesterno della directory home dell\*(Aqutente andr\(`a modificato manualmente\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-Sposta il contenuto della directory home di un utente nella nuova posizione\&.
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Il nome della nuova shell di login dell\*(Aqutente\&. Lasciando questo campo vuoto si fa in modo che il sistema selezioni la shell di login predefinita\&.
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ La casella di posta dell\*(Aqutente e ogni altro file di propriet\(`a dell\*(Aqu
.sp
La propriet\(`a dei file esterni alla directory home dell\*(Aqutente va corretta manualmente\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/it/man8/vipw.8 b/man/it/man8/vipw.8
index 8d3feb47..6ff14237 100644
--- a/man/it/man8/vipw.8
+++ b/man/it/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23/01/2020
+.\" Date: 22/07/2021
.\" Manual: Comandi per la gestione del sistema
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Italian
.\"
-.TH "VIPW" "8" "23/01/2020" "shadow\-utils 4\&.8\&.1" "Comandi per la gestione del si"
+.TH "VIPW" "8" "22/07/2021" "shadow\-utils 4\&.9" "Comandi per la gestione del si"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in
index 2d2ae854..e4f0dff0 100644
--- a/man/ja/Makefile.in
+++ b/man/ja/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/ja
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -182,7 +188,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -211,9 +216,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -251,7 +261,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -347,8 +356,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -501,10 +510,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in
index 7dba217e..de291a8f 100644
--- a/man/ko/Makefile.in
+++ b/man/ko/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/ko
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -342,8 +351,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -496,10 +505,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/lastlog.8.xml b/man/lastlog.8.xml
index fc096c8f..7e68282f 100644
--- a/man/lastlog.8.xml
+++ b/man/lastlog.8.xml
@@ -233,5 +233,12 @@
is no entries for users with UID between 170 and 800 lastlog will appear
to hang as it processes entries with UIDs 171-799).
</para>
+ <para>
+ Having high UIDs can create problems when handling the <term><filename>
+ /var/log/lastlog</filename></term> with external tools. Although the
+ actual file is sparse and does not use too much space, certain
+ applications are not designed to identify sparse files by default and may
+ require a specific option to handle them.
+ </para>
</refsect1>
</refentry>
diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml
index 9e95da20..93178496 100644
--- a/man/login.defs.5.xml
+++ b/man/login.defs.5.xml
@@ -50,6 +50,7 @@
<!ENTITY FAKE_SHELL SYSTEM "login.defs.d/FAKE_SHELL.xml">
<!ENTITY FTMP_FILE SYSTEM "login.defs.d/FTMP_FILE.xml">
<!ENTITY GID_MAX SYSTEM "login.defs.d/GID_MAX.xml">
+<!ENTITY HMAC_CRYPTO_ALGO SYSTEM "login.defs.d/HMAC_CRYPTO_ALGO.xml">
<!ENTITY HOME_MODE SYSTEM "login.defs.d/HOME_MODE.xml">
<!ENTITY HUSHLOGIN_FILE SYSTEM "login.defs.d/HUSHLOGIN_FILE.xml">
<!ENTITY ISSUE_FILE SYSTEM "login.defs.d/ISSUE_FILE.xml">
@@ -67,6 +68,7 @@
<!ENTITY MD5_CRYPT_ENAB SYSTEM "login.defs.d/MD5_CRYPT_ENAB.xml">
<!ENTITY MOTD_FILE SYSTEM "login.defs.d/MOTD_FILE.xml">
<!ENTITY NOLOGINS_FILE SYSTEM "login.defs.d/NOLOGINS_FILE.xml">
+<!ENTITY NONEXISTENT SYSTEM "login.defs.d/NONEXISTENT.xml">
<!ENTITY OBSCURE_CHECKS_ENAB SYSTEM "login.defs.d/OBSCURE_CHECKS_ENAB.xml">
<!ENTITY PASS_ALWAYS_WARN SYSTEM "login.defs.d/PASS_ALWAYS_WARN.xml">
<!ENTITY PASS_CHANGE_TRIES SYSTEM "login.defs.d/PASS_CHANGE_TRIES.xml">
@@ -186,6 +188,7 @@
&FAKE_SHELL;
&FTMP_FILE;
&GID_MAX; <!-- documents also GID_MIN -->
+ &HMAC_CRYPTO_ALGO;
&HOME_MODE;
&HUSHLOGIN_FILE;
&ISSUE_FILE;
@@ -203,6 +206,7 @@
&MD5_CRYPT_ENAB;
&MOTD_FILE;
&NOLOGINS_FILE;
+ &NONEXISTENT;
&OBSCURE_CHECKS_ENAB;
&PASS_ALWAYS_WARN;
&PASS_CHANGE_TRIES;
diff --git a/man/login.defs.d/ENCRYPT_METHOD.xml b/man/login.defs.d/ENCRYPT_METHOD.xml
index 325d0251..af9d7f12 100644
--- a/man/login.defs.d/ENCRYPT_METHOD.xml
+++ b/man/login.defs.d/ENCRYPT_METHOD.xml
@@ -39,6 +39,9 @@
<replaceable>MD5</replaceable><phrase condition="sha_crypt">,
<replaceable>SHA256</replaceable>,
<replaceable>SHA512</replaceable></phrase>.
+ MD5 and DES should not be used for new hashes, see
+ <refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum>
+ for recommendations.
</para>
<para>
Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option>
diff --git a/man/login.defs.d/HMAC_CRYPTO_ALGO.xml b/man/login.defs.d/HMAC_CRYPTO_ALGO.xml
new file mode 100644
index 00000000..324ddab6
--- /dev/null
+++ b/man/login.defs.d/HMAC_CRYPTO_ALGO.xml
@@ -0,0 +1,44 @@
+<!--
+ Copyright (c) 1991 - 1993, Julianne Frances Haugh
+ Copyright (c) 1991 - 1993, Chip Rosenthal
+ Copyright (c) 2007 - 2008, Nicolas François
+ 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. The name of the copyright holders or contributors may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
+ HOLDERS 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.
+-->
+<varlistentry condition="no_pam">
+ <term><option>HMAC_CRYPTO_ALGO</option> (string)</term>
+ <listitem>
+ <para>
+ Used to select the HMAC cryptography algorithm that the pam_timestamp
+ module is going to use to calculate the keyed-hash message authentication
+ code.
+ </para>
+ <para>
+ Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum>
+ to see the possible algorithms that are available in your system.
+ </para>
+ </listitem>
+</varlistentry>
diff --git a/man/login.defs.d/HOME_MODE.xml b/man/login.defs.d/HOME_MODE.xml
new file mode 100644
index 00000000..21aa55f7
--- /dev/null
+++ b/man/login.defs.d/HOME_MODE.xml
@@ -0,0 +1,43 @@
+<!--
+ Copyright (c) 1991 - 1993, Julianne Frances Haugh
+ Copyright (c) 1991 - 1993, Chip Rosenthal
+ Copyright (c) 2007 - 2009, Nicolas François
+ 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. The name of the copyright holders or contributors may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
+ HOLDERS 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.
+-->
+<varlistentry>
+ <term><option>HOME_MODE</option> (number)</term>
+ <listitem>
+ <para>
+ The mode for new home directories. If not specified,
+ the <option>UMASK</option> is used to create the mode.
+ </para>
+ <para>
+ <command>useradd</command> and <command>newusers</command> use this
+ to set the mode of the home directory they create.
+ </para>
+ </listitem>
+</varlistentry>
diff --git a/man/login.defs.d/NONEXISTENT.xml b/man/login.defs.d/NONEXISTENT.xml
new file mode 100644
index 00000000..2b1f6e47
--- /dev/null
+++ b/man/login.defs.d/NONEXISTENT.xml
@@ -0,0 +1,41 @@
+<!--
+ Copyright (c) 1991 - 1993, Julianne Frances Haugh
+ Copyright (c) 1991 - 1993, Chip Rosenthal
+ Copyright (c) 2007 - 2009, Nicolas François
+ 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. The name of the copyright holders or contributors may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
+ HOLDERS 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.
+-->
+<varlistentry>
+ <term><option>NONEXISTENT</option> (string)</term>
+ <listitem>
+ <para>
+ If a system account intentionally does not have a home directory
+ that exists, this string can be provided in the /etc/passwd
+ entry for the account to indicate this. The result is that pwck
+ will not emit a spurious warning for this account.
+ </para>
+ </listitem>
+</varlistentry>
diff --git a/man/login.defs.d/PASS_MIN_DAYS.xml b/man/login.defs.d/PASS_MIN_DAYS.xml
index 14f68ebe..afbfdfaa 100644
--- a/man/login.defs.d/PASS_MIN_DAYS.xml
+++ b/man/login.defs.d/PASS_MIN_DAYS.xml
@@ -34,7 +34,7 @@
<para>
The minimum number of days allowed between password changes. Any
password changes attempted sooner than this will be rejected. If not
- specified, -1 will be assumed (which disables the restriction).
+ specified, 0 will be assumed (which disables the restriction).
</para>
</listitem>
</varlistentry>
diff --git a/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml b/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml
index 0755e690..7f0f9648 100644
--- a/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml
+++ b/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml
@@ -44,7 +44,7 @@
</para>
<para>
If not specified, the libc will choose the default number of rounds
- (5000).
+ (5000), which is orders of magnitude too low for modern hardware.
</para>
<para>
The values must be inside the 1000-999,999,999 range.
diff --git a/man/man1/chage.1 b/man/man1/chage.1
index b4dc1052..9c755e47 100644
--- a/man/man1/chage.1
+++ b/man/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "CHAGE" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "CHAGE" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-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)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. 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\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/man1/chfn.1 b/man/man1/chfn.1
index 95d88be0..bb761a5e 100644
--- a/man/man1/chfn.1
+++ b/man/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "CHFN" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "CHFN" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/chsh.1 b/man/man1/chsh.1
index efa216f3..2405b9fa 100644
--- a/man/man1/chsh.1
+++ b/man/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "CHSH" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "CHSH" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/expiry.1 b/man/man1/expiry.1
index a1fc96b6..7ac916f0 100644
--- a/man/man1/expiry.1
+++ b/man/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "EXPIRY" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "EXPIRY" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/gpasswd.1 b/man/man1/gpasswd.1
index c80cfb1b..13cf5cfe 100644
--- a/man/man1/gpasswd.1
+++ b/man/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GPASSWD" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "GPASSWD" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,7 +147,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man1/groups.1 b/man/man1/groups.1
index 99312b83..7d5172dc 100644
--- a/man/man1/groups.1
+++ b/man/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GROUPS" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "GROUPS" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/id.1 b/man/man1/id.1
index 6843c09b..6156127b 100644
--- a/man/man1/id.1
+++ b/man/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "ID" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "ID" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/login.1 b/man/man1/login.1
index ccfacc5f..22501204 100644
--- a/man/man1/login.1
+++ b/man/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LOGIN" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "LOGIN" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/newgidmap.1 b/man/man1/newgidmap.1
index 30384f99..c675a1d4 100644
--- a/man/man1/newgidmap.1
+++ b/man/man1/newgidmap.1
@@ -2,12 +2,12 @@
.\" Title: newgidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "NEWGIDMAP" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "NEWGIDMAP" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -38,8 +38,11 @@ The
\fBnewgidmap\fR
sets
/proc/[pid]/gid_map
-based on its command line arguments and the gids allowed in
-/etc/subgid\&. Note that the root user is not exempted from the requirement for a valid
+based on its command line arguments and the gids allowed\&. Subgid delegation can either be managed via
+/etc/subgid
+or through the configured NSS subid module\&. These options are mutually exclusive\&.
+.PP
+Note that the root group is not exempted from the requirement for a valid
/etc/subgid
entry\&.
.PP
@@ -65,7 +68,7 @@ Length of the ranges (both inside and outside the user namespace)\&.
\fBnewgidmap\fR
verifies that the caller is the owner of the process indicated by
\fBpid\fR
-and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count] is allowed to the caller according to
+and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count) is allowed to the caller according to
/etc/subgid
before setting
/proc/[pid]/gid_map\&.
diff --git a/man/man1/newgrp.1 b/man/man1/newgrp.1
index 48414af1..1ef4e527 100644
--- a/man/man1/newgrp.1
+++ b/man/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "NEWGRP" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "NEWGRP" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/newuidmap.1 b/man/man1/newuidmap.1
index 75363d08..5a8cd9a9 100644
--- a/man/man1/newuidmap.1
+++ b/man/man1/newuidmap.1
@@ -2,12 +2,12 @@
.\" Title: newuidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "NEWUIDMAP" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "NEWUIDMAP" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -38,8 +38,11 @@ The
\fBnewuidmap\fR
sets
/proc/[pid]/uid_map
-based on its command line arguments and the uids allowed in
-/etc/subuid\&. Note that the root user is not exempted from the requirement for a valid
+based on its command line arguments and the uids allowed\&. Subuid delegation can either be managed via
+/etc/subuid
+or through the configured NSS subid module\&. These options are mutually exclusive\&.
+.PP
+Note that the root user is not exempted from the requirement for a valid
/etc/subuid
entry\&.
.PP
@@ -65,7 +68,7 @@ Length of the ranges (both inside and outside the user namespace)\&.
\fBnewuidmap\fR
verifies that the caller is the owner of the process indicated by
\fBpid\fR
-and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count] is allowed to the caller according to
+and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count) is allowed to the caller according to
/etc/subuid
before setting
/proc/[pid]/uid_map\&.
diff --git a/man/man1/passwd.1 b/man/man1/passwd.1
index aaef7e47..d867851c 100644
--- a/man/man1/passwd.1
+++ b/man/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "PASSWD" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "PASSWD" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man1/sg.1 b/man/man1/sg.1
index e7d4ac4c..69f9cbbe 100644
--- a/man/man1/sg.1
+++ b/man/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SG" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "SG" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man1/su.1 b/man/man1/su.1
index 7639e762..4a52b8e5 100644
--- a/man/man1/su.1
+++ b/man/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: User Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SU" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "User Commands"
+.TH "SU" "1" "07/22/2021" "shadow\-utils 4\&.9" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man3/shadow.3 b/man/man3/shadow.3
index a9ee6f59..31066e6d 100644
--- a/man/man3/shadow.3
+++ b/man/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Library Calls
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SHADOW" "3" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Library Calls"
+.TH "SHADOW" "3" "07/22/2021" "shadow\-utils 4\&.9" "Library Calls"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/faillog.5 b/man/man5/faillog.5
index 12646196..a1605b90 100644
--- a/man/man5/faillog.5
+++ b/man/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "FAILLOG" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "FAILLOG" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/gshadow.5 b/man/man5/gshadow.5
index d657c582..a7dafd03 100644
--- a/man/man5/gshadow.5
+++ b/man/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas François <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GSHADOW" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "GSHADOW" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/limits.5 b/man/man5/limits.5
index ad3f7341..59ed1e4b 100644
--- a/man/man5/limits.5
+++ b/man/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LIMITS" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "LIMITS" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/login.access.5 b/man/man5/login.access.5
index 81e79ba8..56adab93 100644
--- a/man/man5/login.access.5
+++ b/man/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Michałkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LOGIN\&.ACCESS" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "LOGIN\&.ACCESS" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/login.defs.5 b/man/man5/login.defs.5
index 3ac322fa..bdc35b8f 100644
--- a/man/man5/login.defs.5
+++ b/man/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LOGIN\&.DEFS" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "LOGIN\&.DEFS" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -372,6 +383,11 @@ If defined, ":" delimited list of "message of the day" files to be displayed upo
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Enable additional checks upon password changes\&.
@@ -394,7 +410,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -442,7 +458,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man5/passwd.5 b/man/man5/passwd.5
index c66e9321..4b8ea026 100644
--- a/man/man5/passwd.5
+++ b/man/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "PASSWD" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "PASSWD" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/man5/porttime.5 b/man/man5/porttime.5
index 38105cfb..7220a616 100644
--- a/man/man5/porttime.5
+++ b/man/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "PORTTIME" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "PORTTIME" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/shadow.5 b/man/man5/shadow.5
index 2b4a7072..470805f9 100644
--- a/man/man5/shadow.5
+++ b/man/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SHADOW" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "SHADOW" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fBdate of last password change\fR
.RS 4
-The date of the last password change, expressed as the number of days since Jan 1, 1970\&.
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&.
.sp
@@ -72,7 +72,7 @@ An empty field means that password aging features are disabled\&.
.RS 4
The minimum password age is the number of days the user will have to wait before she will be allowed to change her password again\&.
.sp
-An empty field and value 0 mean that there are no minimum password age\&.
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fBmaximum password age\fR
@@ -97,14 +97,14 @@ An empty field and value 0 mean that there are no password warning period\&.
.RS 4
The number of days after a password has expired (see the maximum password age above) during which the password should still be accepted (and the user should update her password during the next login)\&.
.sp
-After expiration of the password and this expiration period is elapsed, no login is possible using the current user\*(Aqs password\&. The user should contact her administrator\&.
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
An empty field means that there are no enforcement of an inactivity period\&.
.RE
.PP
\fBaccount expiration date\fR
.RS 4
-The date of expiration of the account, expressed as the number of days since Jan 1, 1970\&.
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&.
.sp
diff --git a/man/man5/suauth.5 b/man/man5/suauth.5
index 9b5ad03f..a1057a28 100644
--- a/man/man5/suauth.5
+++ b/man/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Michałkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SUAUTH" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "SUAUTH" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man5/subgid.5 b/man/man5/subgid.5
index 8db1f45d..f6dca2d2 100644
--- a/man/man5/subgid.5
+++ b/man/man5/subgid.5
@@ -2,12 +2,12 @@
.\" Title: subgid
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SUBGID" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "SUBGID" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,9 +28,29 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
-subgid \- the subordinate gid file
+subgid \- the configuration for subordinate group ids
.SH "DESCRIPTION"
.PP
+Subgid authorizes a group id to map ranges of group ids from its namespace into child namespaces\&.
+.PP
+The delegation of the subordinate gids can be configured via the
+\fIsubid\fR
+field in
+/etc/nsswitch\&.conf
+file\&. Only one value can be set as the delegation source\&. Setting this field to
+\fIfiles\fR
+configures the delegation of gids to
+/etc/subgid\&. Setting any other value treats the delegation as a plugin following with a name of the form
+\fIlibsubid_$value\&.so\fR\&. If the value or plugin is missing, then the subordinate gid delegation falls back to
+\fIfiles\fR\&.
+.PP
+Note, that
+\fBgroupadd\fR
+will only create entries in
+/etc/subgid
+if subid delegation is managed via subid files\&.
+.SH "LOCAL SUBORDINATE DELEGATION"
+.PP
Each line in
/etc/subgid
contains a user name and a range of subordinate group ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(lq:\(rq)\&. These fields are:
diff --git a/man/man5/subuid.5 b/man/man5/subuid.5
index 0876ecbe..708310ac 100644
--- a/man/man5/subuid.5
+++ b/man/man5/subuid.5
@@ -2,12 +2,12 @@
.\" Title: subuid
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SUBUID" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "SUBUID" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,9 +28,29 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
-subuid \- the subordinate uid file
+subuid \- the configuration for subordinate user ids
.SH "DESCRIPTION"
.PP
+Subuid authorizes a user id to map ranges of user ids from its namespace into child namespaces\&.
+.PP
+The delegation of the subordinate uids can be configured via the
+\fIsubid\fR
+field in
+/etc/nsswitch\&.conf
+file\&. Only one value can be set as the delegation source\&. Setting this field to
+\fIfiles\fR
+configures the delegation of uids to
+/etc/subuid\&. Setting any other value treats the delegation as a plugin following with a name of the form
+\fIlibsubid_$value\&.so\fR\&. If the value or plugin is missing, then the subordinate uid delegation falls back to
+\fIfiles\fR\&.
+.PP
+Note, that
+\fBuseradd\fR
+will only create entries in
+/etc/subuid
+if subid delegation is managed via subid files\&.
+.SH "LOCAL SUBORDINATE DELEGATION"
+.PP
Each line in
/etc/subuid
contains a user name and a range of subordinate user ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(lq:\(rq)\&. These fields are:
diff --git a/man/man8/chgpasswd.8 b/man/man8/chgpasswd.8
index 1bc9dffa..8faf90cd 100644
--- a/man/man8/chgpasswd.8
+++ b/man/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas KÅ‚oczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "CHGPASSWD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "CHGPASSWD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -121,7 +121,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man8/chpasswd.8 b/man/man8/chpasswd.8
index c15630a4..376e7057 100644
--- a/man/man8/chpasswd.8
+++ b/man/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "CHPASSWD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "CHPASSWD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -139,7 +139,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man8/faillog.8 b/man/man8/faillog.8
index b220088b..d335a4d8 100644
--- a/man/man8/faillog.8
+++ b/man/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "FAILLOG" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "FAILLOG" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man8/groupadd.8 b/man/man8/groupadd.8
index af5778f3..19b4edae 100644
--- a/man/man8/groupadd.8
+++ b/man/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GROUPADD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "GROUPADD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/man8/groupdel.8 b/man/man8/groupdel.8
index 50addaed..70cc7bdc 100644
--- a/man/man8/groupdel.8
+++ b/man/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GROUPDEL" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "GROUPDEL" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Display help message and exit\&.
diff --git a/man/man8/groupmems.8 b/man/man8/groupmems.8
index 1d01d316..5b5a2d4c 100644
--- a/man/man8/groupmems.8
+++ b/man/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GROUPMEMS" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "GROUPMEMS" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man8/groupmod.8 b/man/man8/groupmod.8
index b76f6a95..25fb44ca 100644
--- a/man/man8/groupmod.8
+++ b/man/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GROUPMOD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "GROUPMOD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/man8/grpck.8 b/man/man8/grpck.8
index a9094e4d..8fadfd17 100644
--- a/man/man8/grpck.8
+++ b/man/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "GRPCK" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "GRPCK" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/man8/lastlog.8 b/man/man8/lastlog.8
index 3ca86500..dff42bc6 100644
--- a/man/man8/lastlog.8
+++ b/man/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LASTLOG" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "LASTLOG" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -135,3 +135,7 @@ Database times of previous user logins\&.
.SH "CAVEATS"
.PP
Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/man8/logoutd.8 b/man/man8/logoutd.8
index 88fbc040..3f7b1296 100644
--- a/man/man8/logoutd.8
+++ b/man/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "LOGOUTD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "LOGOUTD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man8/newusers.8 b/man/man8/newusers.8
index df37f7ba..908f98e0 100644
--- a/man/man8/newusers.8
+++ b/man/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "NEWUSERS" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "NEWUSERS" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ This field is copied in the GECOS field of the user\&.
.RS 4
This field is used to define the home directory of the user\&.
.sp
-If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&.
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -193,7 +195,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/man8/nologin.8 b/man/man8/nologin.8
index e02954a4..7293116d 100644
--- a/man/man8/nologin.8
+++ b/man/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas François <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "NOLOGIN" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "NOLOGIN" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man8/pwck.8 b/man/man8/pwck.8
index aacc2e47..9c31ea0f 100644
--- a/man/man8/pwck.8
+++ b/man/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "PWCK" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "PWCK" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
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)\&.
@@ -256,7 +261,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/man8/pwconv.8 b/man/man8/pwconv.8
index a63a95dd..e485a067 100644
--- a/man/man8/pwconv.8
+++ b/man/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Michałkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "PWCONV" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "PWCONV" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -173,7 +173,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/man8/sulogin.8 b/man/man8/sulogin.8
index 37f25bcf..c1486612 100644
--- a/man/man8/sulogin.8
+++ b/man/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "SULOGIN" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "SULOGIN" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/man8/useradd.8 b/man/man8/useradd.8
index 21426cba..572ff7e2 100644
--- a/man/man8/useradd.8
+++ b/man/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "USERADD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "USERADD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -539,7 +543,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ Secure group account information\&.
Default values for account creation\&.
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
Directory containing default files\&.
diff --git a/man/man8/userdel.8 b/man/man8/userdel.8
index 0ada52f1..927d7b93 100644
--- a/man/man8/userdel.8
+++ b/man/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "USERDEL" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "USERDEL" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ User account information\&.
Secure user account information\&.
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/man8/usermod.8 b/man/man8/usermod.8
index ea9adce1..4b86d362 100644
--- a/man/man8/usermod.8
+++ b/man/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "USERMOD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "USERMOD" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ The user\*(Aqs new login directory\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ The group name or number of the user\*(Aqs new initial login group\&. The group
Any file from the user\*(Aqs home directory owned by the previous primary group of the user will be owned by this new group\&.
.sp
The group ownership of files outside of the user\*(Aqs home directory must be fixed manually\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-Move the content of the user\*(Aqs home directory to the new location\&.
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ The user\*(Aqs mailbox, and any files which the user owns and which are located
.sp
The ownership of files outside of the user\*(Aqs home directory must be fixed manually\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/man8/vipw.8 b/man/man8/vipw.8
index f8f175ee..8ae89585 100644
--- a/man/man8/vipw.8
+++ b/man/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Michałkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: System Management Commands
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: English
.\"
-.TH "VIPW" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "System Management Commands"
+.TH "VIPW" "8" "07/22/2021" "shadow\-utils 4\&.9" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/newgidmap.1.xml b/man/newgidmap.1.xml
index 5fff36f7..681aefcb 100644
--- a/man/newgidmap.1.xml
+++ b/man/newgidmap.1.xml
@@ -87,9 +87,15 @@
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
- The <command>newgidmap</command> sets <filename>/proc/[pid]/gid_map</filename> based on its
- command line arguments and the gids allowed in <filename>/etc/subgid</filename>.
- Note that the root user is not exempted from the requirement for a valid
+ The <command>newgidmap</command> sets <filename>/proc/[pid]/gid_map</filename>
+ based on its command line arguments and the gids allowed. Subgid
+ delegation can either be managed via <filename>/etc/subgid</filename>
+ or through the configured NSS subid module. These options are mutually
+ exclusive.
+ </para>
+
+ <para>
+ Note that the root group is not exempted from the requirement for a valid
<filename>/etc/subgid</filename> entry.
</para>
@@ -127,7 +133,7 @@
<command>newgidmap</command> verifies that the caller is the owner
of the process indicated by <option>pid</option> and that for each
of the above sets, each of the GIDs in the range [lowergid,
- lowergid+count] is allowed to the caller according to
+ lowergid+count) is allowed to the caller according to
<filename>/etc/subgid</filename> before setting
<filename>/proc/[pid]/gid_map</filename>.
</para>
diff --git a/man/newuidmap.1.xml b/man/newuidmap.1.xml
index faa2373d..09e65d80 100644
--- a/man/newuidmap.1.xml
+++ b/man/newuidmap.1.xml
@@ -87,8 +87,14 @@
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
- The <command>newuidmap</command> sets <filename>/proc/[pid]/uid_map</filename> based on its
- command line arguments and the uids allowed in <filename>/etc/subuid</filename>.
+ The <command>newuidmap</command> sets <filename>/proc/[pid]/uid_map</filename>
+ based on its command line arguments and the uids allowed. Subuid
+ delegation can either be managed via <filename>/etc/subuid</filename> or
+ through the configured NSS subid module. These options are mutually
+ exclusive.
+ </para>
+
+ <para>
Note that the root user is not exempted from the requirement for a valid
<filename>/etc/subuid</filename> entry.
</para>
@@ -127,7 +133,7 @@
<command>newuidmap</command> verifies that the caller is the owner
of the process indicated by <option>pid</option> and that for each
of the above sets, each of the UIDs in the range [loweruid,
- loweruid+count] is allowed to the caller according to
+ loweruid+count) is allowed to the caller according to
<filename>/etc/subuid</filename> before setting
<filename>/proc/[pid]/uid_map</filename>.
</para>
diff --git a/man/newusers.8.xml b/man/newusers.8.xml
index 13307cc1..f80e8460 100644
--- a/man/newusers.8.xml
+++ b/man/newusers.8.xml
@@ -219,7 +219,15 @@
<para>
If this field does not specify an existing directory, the
specified directory is created, with ownership set to the
- user being created or updated and its primary group.
+ user being created or updated and its primary group. Note
+ that <emphasis>newusers does not create parent directories
+ </emphasis> of the new user's home directory. The newusers
+ command will fail to create the home directory if the parent
+ directories do not exist, and will send a message to stderr
+ informing the user of the failure. The newusers command will
+ not halt or return a failure to the calling shell if it fails
+ to create the home directory, it will continue to process the
+ batch of new users specified.
</para>
<para>
If the home directory of an existing user is changed,
diff --git a/man/passwd.5.xml b/man/passwd.5.xml
index 7738d09a..4011e673 100644
--- a/man/passwd.5.xml
+++ b/man/passwd.5.xml
@@ -136,9 +136,12 @@
(but the user may log in the system by other means).
</para>
<para>
- The comment field is used by various system utilities, such as
+ The comment field, also known as the gecos field, is used by
+ various system utilities, such as
<citerefentry><refentrytitle>finger</refentrytitle>
- <manvolnum>1</manvolnum></citerefentry>.
+ <manvolnum>1</manvolnum></citerefentry>. The use of an ampersand
+ here will be replaced by the capitalised login name when the field
+ is used or displayed by such system utilities.
</para>
<para>
diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in
index c9d408f3..2f4977fb 100644
--- a/man/pl/Makefile.in
+++ b/man/pl/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/pl
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -357,8 +366,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -555,10 +564,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/pl/man1/chage.1 b/man/pl/man1/chage.1
index 135c8083..10fc1368 100644
--- a/man/pl/man1/chage.1
+++ b/man/pl/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "CHAGE" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "CHAGE" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,7 +45,11 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-Ustawia ilość dni od 1 stycznia 1970 kiedy ha\(/lo by\(/lo ostani raz zmieniane\&. Data ważności może być takze prezekazana w formacie RRRR\-MM\-DD (lub formacie używanym lokalnie)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -54,6 +58,19 @@ Ustawia datÄ™, poczÄ…wszy od kt\('orej konto użytkownika nie bÄ™dzie już dostÄ
\fIDATA_WAŻN\fR
jest liczbą dni od 1 stycznia 1970, od kt\('orej konto jest blokowane\&. Data może być też wyrażona w formacie RRRR\-MM\-DD (lub innej, powszechniej używanej w danym regionie)\&. Użytkownik, kt\('orego konto jest zablokowane musi skontaktować się z administratorem systemu zanim będzie m\('og\(/l z niego ponownie skorzystać\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -139,6 +156,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/pl/man1/chsh.1 b/man/pl/man1/chsh.1
index cc33e461..9f6c0b5a 100644
--- a/man/pl/man1/chsh.1
+++ b/man/pl/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "CHSH" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "CHSH" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man1/expiry.1 b/man/pl/man1/expiry.1
index 8bb203ba..46d45ec6 100644
--- a/man/pl/man1/expiry.1
+++ b/man/pl/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "EXPIRY" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "EXPIRY" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man1/groups.1 b/man/pl/man1/groups.1
index 05f7a8e9..3c65e104 100644
--- a/man/pl/man1/groups.1
+++ b/man/pl/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GROUPS" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "GROUPS" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man1/id.1 b/man/pl/man1/id.1
index 4afbfc98..d8027028 100644
--- a/man/pl/man1/id.1
+++ b/man/pl/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "ID" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "ID" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man1/newgrp.1 b/man/pl/man1/newgrp.1
index 6fdb3b28..7f659ce3 100644
--- a/man/pl/man1/newgrp.1
+++ b/man/pl/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "NEWGRP" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "NEWGRP" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man1/sg.1 b/man/pl/man1/sg.1
index 82c1ee98..14e2c333 100644
--- a/man/pl/man1/sg.1
+++ b/man/pl/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia użytkownik\('ow
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "SG" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia użytkownik\('ow"
+.TH "SG" "1" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia użytkownik\('ow"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man3/shadow.3 b/man/pl/man3/shadow.3
index e27ab5c5..9c78eaf4 100644
--- a/man/pl/man3/shadow.3
+++ b/man/pl/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Library Calls
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "SHADOW" "3" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Library Calls"
+.TH "SHADOW" "3" "07/22/2021" "shadow\-utils 4\&.9" "Library Calls"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man5/faillog.5 b/man/pl/man5/faillog.5
index 84aff2da..c0bb68d7 100644
--- a/man/pl/man5/faillog.5
+++ b/man/pl/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "FAILLOG" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "FAILLOG" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man5/porttime.5 b/man/pl/man5/porttime.5
index 1be9aa78..1281d56a 100644
--- a/man/pl/man5/porttime.5
+++ b/man/pl/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: File Formats and Conversions
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "PORTTIME" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "File Formats and Conversions"
+.TH "PORTTIME" "5" "07/22/2021" "shadow\-utils 4\&.9" "File Formats and Conversions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man8/faillog.8 b/man/pl/man8/faillog.8
index ed998085..03bf1970 100644
--- a/man/pl/man8/faillog.8
+++ b/man/pl/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "FAILLOG" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "FAILLOG" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man8/groupadd.8 b/man/pl/man8/groupadd.8
index 128a6011..e474cb9a 100644
--- a/man/pl/man8/groupadd.8
+++ b/man/pl/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GROUPADD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "GROUPADD" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/pl/man8/groupdel.8 b/man/pl/man8/groupdel.8
index 43e9de0e..1ab9175f 100644
--- a/man/pl/man8/groupdel.8
+++ b/man/pl/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GROUPDEL" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "GROUPDEL" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&.
diff --git a/man/pl/man8/groupmems.8 b/man/pl/man8/groupmems.8
index 9136efa1..fbb17e15 100644
--- a/man/pl/man8/groupmems.8
+++ b/man/pl/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GROUPMEMS" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "GROUPMEMS" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man8/groupmod.8 b/man/pl/man8/groupmod.8
index c0bfd86f..ddba0f55 100644
--- a/man/pl/man8/groupmod.8
+++ b/man/pl/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GROUPMOD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "GROUPMOD" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/pl/man8/grpck.8 b/man/pl/man8/grpck.8
index ebd50146..7b65a651 100644
--- a/man/pl/man8/grpck.8
+++ b/man/pl/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "GRPCK" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "GRPCK" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/pl/man8/lastlog.8 b/man/pl/man8/lastlog.8
index d68951a9..e05264ac 100644
--- a/man/pl/man8/lastlog.8
+++ b/man/pl/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "LASTLOG" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "LASTLOG" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -135,3 +135,7 @@ Baza danych ostatnich logowań użytkownik\('ow\&.
.SH "OSTRZEŻENIA"
.PP
Duże luki w numeracji UID powodują, że program będzie pracowa\(/l d\(/lużej, nie wyświetlając wynik\('ow (np\&. jeśli w bazie lastlog nie ma wpis\('ow dla o UID pomiedzy 170, a 800, to program będzie sprawia\(/l wrażenie zawieszonego w trakcie przetwarzania wpis\('ow dla użytkowanik\('o\(/l o UID 171\-799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/pl/man8/logoutd.8 b/man/pl/man8/logoutd.8
index 8072d5e5..998fa3d1 100644
--- a/man/pl/man8/logoutd.8
+++ b/man/pl/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "LOGOUTD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "LOGOUTD" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/pl/man8/userdel.8 b/man/pl/man8/userdel.8
index 43f0eea4..bfca520f 100644
--- a/man/pl/man8/userdel.8
+++ b/man/pl/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "USERDEL" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "USERDEL" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ Informacja o kontach użytkownik\('ow\&.
Informacje chronione o użytkownikach\&.
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/pl/man8/usermod.8 b/man/pl/man8/usermod.8
index 3123a31b..bbf8965f 100644
--- a/man/pl/man8/usermod.8
+++ b/man/pl/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "USERMOD" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "USERMOD" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ The user\*(Aqs new login directory\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ The group name or number of the user\*(Aqs new initial login group\&. The group
Any file from the user\*(Aqs home directory owned by the previous primary group of the user will be owned by this new group\&.
.sp
The group ownership of files outside of the user\*(Aqs home directory must be fixed manually\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-Move the content of the user\*(Aqs home directory to the new location\&.
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Nazwa nowej pow\(/loki (shell) użytkownika\&. Ustawienie tego pola na puste powoduje, że system wybierze domyślną pow\(/lokę logowania\&.
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ The user\*(Aqs mailbox, and any files which the user owns and which are located
.sp
The ownership of files outside of the user\*(Aqs home directory must be fixed manually\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/pl/man8/vipw.8 b/man/pl/man8/vipw.8
index 198c1e2c..1c7b82ce 100644
--- a/man/pl/man8/vipw.8
+++ b/man/pl/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Polecenia ZarzÄ…dzania Systemem
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Polish
.\"
-.TH "VIPW" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Polecenia ZarzÄ…dzania Systemem"
+.TH "VIPW" "8" "07/22/2021" "shadow\-utils 4\&.9" "Polecenia ZarzÄ…dzania Systemem"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/po/da.po b/man/po/da.po
index 2bb6aed7..cee1b50b 100644
--- a/man/po/da.po
+++ b/man/po/da.po
@@ -20,7 +20,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow-man\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:35+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
@@ -47,13 +47,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -67,12 +67,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -84,11 +84,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -100,12 +100,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -118,14 +118,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -139,13 +139,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -157,12 +157,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -174,13 +174,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -190,18 +190,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr ""
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -210,10 +210,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -225,14 +225,14 @@ msgstr "Kommandoer for systemhåndtering"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -257,9 +257,9 @@ msgstr ""
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -270,12 +270,12 @@ msgstr "tilvalg"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -310,8 +310,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -335,23 +335,23 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "Rediger gruppedatabase."
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Vis hjælpeteksten og afslut."
@@ -363,7 +363,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "Rediger passwd-database."
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -371,13 +371,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "Stille tilstand."
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -385,13 +385,13 @@ msgstr ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -416,26 +416,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "Indikerer hvilken brugers tcb-shadowfil at redigere."
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "KONFIGURATION"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -483,119 +483,119 @@ msgstr ""
"Redigeringsprogram der skal bruges hvis <option>VISUAL</option> ikke er "
"angivet."
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "FILER"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Information om gruppekonto."
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Information om sikret gruppekonto."
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Information om brugerkonto."
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Information om sikret brugerkonto."
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "SE OGSÃ…"
@@ -628,12 +628,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -644,11 +644,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -660,14 +660,14 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -713,8 +713,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-a</option>, <option>--all</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -753,16 +753,22 @@ msgid "The user's new login directory."
msgstr "Brugerens nye logindmappe."
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"Hvis tilvalget <option>-m</option> er angivet, vil indholdet af den aktuelle "
"hjemmemappe blive flyttet til den nye hjemmemappe, som oprettes hvis denne "
"ikke allerede findes."
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -770,7 +776,7 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>UDLØBSDATO</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -778,7 +784,7 @@ msgstr ""
"Datoen hvorpå brugerkontoen vil blive deaktiveret. Datoen er angivet i "
"formatet <emphasis remap=\"I\">Ã…Ã…Ã…Ã…-MM-DD</emphasis>."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
@@ -786,7 +792,7 @@ msgstr ""
"Et tomt argument for <replaceable>UDLØBSDATO</replaceable> vil deaktivere "
"udløb for kontoen."
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -794,7 +800,7 @@ msgstr ""
"Dette tilvalg kræver en <filename>/etc/shadow</filename>-fil. Et <filename>/"
"etc/shadow</filename>-punkt vil blive oprettet hvis et sådant ikke fandtes."
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -802,7 +808,7 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
@@ -810,44 +816,52 @@ msgstr ""
"Antallet af dage fra en adgangskode udløber til kontoen bliver permanent "
"deaktiveret."
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
msgstr ""
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
msgstr ""
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
msgstr ""
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
msgstr ""
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
msgstr ""
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
"\">,GROUPN</emphasis>]]]"
msgstr ""
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -855,7 +869,7 @@ msgid ""
"<option>-g</option> option."
msgstr ""
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -863,13 +877,13 @@ msgid ""
"supplementary group list."
msgstr ""
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
msgstr ""
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -877,70 +891,73 @@ msgid ""
"renamed manually to reflect the new login name."
msgstr ""
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr ""
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
"p</option> or <option>-U</option>."
msgstr ""
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
"<replaceable>1</replaceable>."
msgstr ""
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr ""
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
msgstr ""
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
"needed afterwards."
msgstr ""
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr ""
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
msgstr ""
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
"replaceable>"
msgstr ""
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
msgstr ""
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -948,21 +965,21 @@ msgid ""
"listing the processes."
msgstr ""
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
"password database configured in your PAM configuration."
msgstr ""
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
msgstr ""
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -974,8 +991,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option>&nbsp;"
"<replaceable>HJEMMEMAPPE</replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -984,67 +1001,75 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
msgstr ""
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
msgstr ""
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr ""
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
msgstr ""
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
"automatically."
msgstr ""
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
msgstr ""
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
"<option>SYS_UID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr ""
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
"option>."
msgstr ""
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1052,7 +1077,7 @@ msgid ""
"from <filename>/etc/default/useradd</filename>)."
msgstr ""
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-f</option>, <option>--inactive</option>&nbsp;"
@@ -1064,24 +1089,24 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
msgid ""
"No checks will be performed with regard to <option>SUB_UID_MIN</option>, "
"<option>SUB_UID_MAX</option>, or <option>SUB_UID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-e</option>, <option>--expiredate</option>&nbsp;"
@@ -1093,11 +1118,11 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>UDLØBSDATO</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1105,7 +1130,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-f</option>, <option>--inactive</option>&nbsp;"
@@ -1117,18 +1142,18 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
msgid ""
"No checks will be performed with regard to <option>SUB_GID_MIN</option>, "
"<option>SUB_GID_MAX</option>, or <option>SUB_GID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-e</option>, <option>--expiredate</option>&nbsp;"
@@ -1140,11 +1165,11 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>UDLØBSDATO</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
msgid "Remove a range of subordinate gids from the user's account."
msgstr ""
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1152,32 +1177,32 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
msgstr ""
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr ""
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
msgstr ""
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr ""
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
msgid ""
"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, the "
@@ -1186,13 +1211,13 @@ msgid ""
"uses utmp to check if the user is logged in."
msgstr ""
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
msgstr ""
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
@@ -1446,50 +1471,50 @@ msgid ""
"algorithm: <placeholder-1/>"
msgstr ""
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr ""
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr ""
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -1538,7 +1563,7 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr ""
@@ -1557,7 +1582,8 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr ""
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr ""
@@ -1676,97 +1702,113 @@ msgid ""
"the user."
msgstr ""
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr ""
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr ""
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr ""
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr ""
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr ""
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr ""
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr ""
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr ""
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr ""
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr ""
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr ""
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr ""
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr ""
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr ""
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
msgstr ""
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -1775,19 +1817,19 @@ msgid ""
"deletion of this account."
msgstr ""
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
msgstr ""
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
msgstr ""
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -1798,7 +1840,7 @@ msgid ""
"<option>-f</option> option can force the deletion of this group."
msgstr ""
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -1846,7 +1888,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr ""
@@ -1879,11 +1921,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr ""
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -1924,47 +1966,47 @@ msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr ""
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr ""
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>, or an empty string (no expiry) by default."
msgstr ""
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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."
msgstr ""
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>, or -1 by default."
msgstr ""
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
msgstr ""
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -1978,7 +2020,7 @@ msgid ""
"default."
msgstr ""
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -1987,43 +2029,43 @@ msgid ""
"the initial group."
msgstr ""
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
msgstr ""
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
"<command>useradd</command>."
msgstr ""
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
msgstr ""
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
"or, by default, <filename>/etc/skel</filename>."
msgstr ""
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr ""
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
msgstr ""
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
msgid ""
"Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
"option>, <option>UID_MAX</option>, <option>UMASK</option>, "
@@ -2037,62 +2079,70 @@ msgid ""
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
msgstr ""
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr ""
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr ""
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
msgid ""
"By default, the user's entries in the lastlog and faillog databases are "
"reset to avoid reusing the entry from a previously deleted user."
msgstr ""
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr ""
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
"the <option>-k</option> option) will be copied to the home directory."
msgstr ""
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
msgstr ""
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-c</option>, <option>--crypt-method</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
"to <replaceable>yes</replaceable>."
msgstr ""
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr ""
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
"<option>GROUP</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2100,31 +2150,31 @@ msgid ""
"filename>."
msgstr ""
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr ""
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
"disable the password."
msgstr ""
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr ""
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr ""
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2134,7 +2184,7 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
msgid ""
"Note that <command>useradd</command> will not create a home directory for "
"such a user, regardless of the default setting in <filename>/etc/login.defs</"
@@ -2143,7 +2193,7 @@ msgid ""
"created."
msgstr ""
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2151,7 +2201,7 @@ msgid ""
"filename>, or an empty string by default."
msgstr ""
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2159,33 +2209,33 @@ msgid ""
"<option>UID_MIN</option> and greater than every other user."
msgstr ""
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
msgstr ""
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr ""
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
msgstr ""
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
msgstr ""
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr ""
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2193,7 +2243,7 @@ msgid ""
"default values for the specified options. Valid default-changing options are:"
msgstr ""
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2201,23 +2251,23 @@ msgid ""
"when creating a new account."
msgstr ""
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr ""
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2225,7 +2275,7 @@ msgstr ""
"Antallet af dage efter en adgangskode er udløbet før kontoen vil blive "
"deaktiveret."
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2233,7 +2283,7 @@ msgstr ""
"Dette tilvalg sætter variablen <option>INACTIVE</option> i <filename>/etc/"
"default/useradd</filename>."
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2242,27 +2292,27 @@ msgid ""
"have an existing entry."
msgstr ""
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "Navnet på en ny brugers logindskal."
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr ""
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2270,7 +2320,7 @@ msgid ""
"command line)."
msgstr ""
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -2278,21 +2328,21 @@ msgstr ""
"Du kan ikke tilføje en bruger til en NIS eller LDAP-gruppe. Dette skal "
"udføres på den tilsvarende server."
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
"creation request."
msgstr ""
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
"dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "Brugernavne må kun være op til 32 tegn lange."
@@ -2381,7 +2431,7 @@ msgstr ""
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
@@ -2510,71 +2560,87 @@ msgid ""
"It is also used by <command>pam_umask</command> as the default umask value."
msgstr ""
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Standardværdier for kontooprettelse."
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "Mappe indeholdende standardfiler."
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "Ugyldigt argument for tilvalg"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID er allerede i brug (og intet <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "angivet gruppe findes ikke"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "brugernavn er allerede i brug"
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "kan ikke oprette hjemmemappe"
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "4"
msgid "14"
msgstr "4"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -2582,7 +2648,7 @@ msgstr ""
"Kommandoen <command>useradd</command> findes med de følgende værdier: "
"<placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -2640,17 +2706,17 @@ msgid "suauth"
msgstr ""
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -2788,7 +2854,7 @@ msgid ""
" "
msgstr ""
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr ""
@@ -2823,7 +2889,7 @@ msgid "Creation, 1989"
msgstr ""
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr ""
@@ -3395,7 +3461,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr ""
@@ -3469,7 +3535,7 @@ msgstr ""
#: shadow.5.xml:130(para)
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:134(para)
@@ -3493,7 +3559,7 @@ msgid ""
msgstr ""
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
#: shadow.5.xml:160(emphasis)
@@ -3553,8 +3619,7 @@ msgstr ""
#: shadow.5.xml:209(para)
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
#: shadow.5.xml:214(para)
@@ -3569,7 +3634,7 @@ msgstr ""
#: shadow.5.xml:225(para)
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:229(para)
@@ -3605,7 +3670,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "Sikkerhedskopi for /etc/shadow."
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -3832,19 +3897,19 @@ msgid ""
msgstr ""
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr ""
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr ""
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr ""
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr ""
@@ -3977,26 +4042,26 @@ msgid ""
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
msgstr ""
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr ""
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr ""
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr ""
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -4007,67 +4072,67 @@ msgid ""
"which have other uncorrectable errors."
msgstr ""
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr ""
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr ""
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr ""
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr ""
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr ""
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr ""
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr ""
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
msgstr ""
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr ""
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
msgstr ""
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr ""
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr ""
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr ""
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr ""
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -4078,51 +4143,51 @@ msgid ""
"<command>usermod</command> command to correct the error."
msgstr ""
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
"should be used in those circumstances to remove the offending entry."
msgstr ""
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr ""
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
msgstr ""
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr ""
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr ""
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr ""
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
msgstr ""
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr ""
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -4131,34 +4196,48 @@ msgid ""
"<replaceable>shadow</replaceable> parameters."
msgstr ""
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
msgid ""
"Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
"alternative <replaceable>shadow</replaceable> file. In future releases, this "
"parameter could be replaced by an alternate TCB directory."
msgstr ""
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENV_HZ</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>ENV_HZ</option> (streng)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr ""
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "kan ikke åbne adgangskodefiler"
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "kan ikke låse adgangskodefiler"
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "kan ikke opdatere adgangskodefiler"
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "kan ikke sortere adgangskodefiler"
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -4166,7 +4245,7 @@ msgstr ""
"Kommandoen <command>pwck</command> findes med de følgende værdier: "
"<placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -4332,19 +4411,21 @@ msgstr ""
#: passwd.5.xml:138(para)
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
"of the <envar>$HOME</envar> environmental variable."
msgstr ""
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -4353,19 +4434,19 @@ msgid ""
"defaults to the value <filename>/bin/sh</filename>."
msgstr ""
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr ""
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr ""
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr ""
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -4585,7 +4666,7 @@ msgid ""
"replaceable>"
msgstr ""
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -4654,7 +4735,7 @@ msgid ""
"<replaceable>MAX_DAYS</replaceable>, the password is required to be changed."
msgstr ""
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -4697,21 +4778,23 @@ msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -4821,7 +4904,8 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para)
@@ -4852,7 +4936,7 @@ msgstr ""
msgid "PAM configuration for <command>passwd</command>."
msgstr "PAM-konfiguration for <command>passwd</command>."
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "tilladelse nægtet"
@@ -4937,7 +5021,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "Kommandoen <command>nologin</command> fremkom i BSD 4.4."
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -5105,13 +5189,16 @@ msgstr "Dette felt bruges til at definere hjemmemappen for brugeren."
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"Hvis feltet ikke angiver en eksisterende mappe, så oprettes den angiven "
-"mappe, med ejerskab angivet for brugeren der oprettes elelr opdateres og "
-"dennes primære gruppe."
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -5121,11 +5208,11 @@ msgstr ""
"kopierer <command>newusers</command> ikke indholdet fra den gamle mappe til "
"den nye placering. Dette ksal gøres manuelt."
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr ""
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
@@ -5133,7 +5220,7 @@ msgstr ""
"Dette felt definerer brugerens skal. Ingen kontrollerer udføres på dette "
"felt."
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -5141,7 +5228,7 @@ msgid ""
"no changes are committed to the databases."
msgstr ""
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -5149,7 +5236,7 @@ msgid ""
"password are reported, but will not stop the other password updates."
msgstr ""
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -5157,19 +5244,19 @@ msgstr ""
"Denne kommando skal bruges i store systemmiljøer hvor mange kontoer "
"opdateres på en gang."
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "Tilvalgene som gælder for kommandoen <command>newusers</command> er:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "Brug den angivne metode til at kryptere adgangskoderne."
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -5177,7 +5264,7 @@ msgstr ""
"De tilgængelige metoder er DES, Md5, NONE og SHA256 eller SHA512 hvis din "
"libc understøtter disse metoder."
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -5193,15 +5280,15 @@ msgstr ""
"<option>UID_MAX</option> (og deres <option>GID</option>-modparte for "
"oprettelsen af grupper.)."
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr "Brug det angivet antal rundet til at kryhptere adgangskoderne."
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
@@ -5209,19 +5296,19 @@ msgstr ""
"Værdien 0 betyder at systemet vil vælge antallet af standardrunder for "
"krypteringsmetoden (5000)."
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive "
"påtvunget."
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
"Du kan kun bruge dette tilvalg med SHA256- eller SHA512-krypteringsmetoden."
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -5230,14 +5317,14 @@ msgstr ""
"SHA_CRYPT_MIN_ROUNDS og SHA_CRYPT_MAX_ROUNDS i <filename>/etc/login.defs</"
"filename>."
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Inddatafilen skal beskyttes da den indeholder adgangskoder der ikke er "
"krypteret."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
@@ -5245,15 +5332,15 @@ msgstr ""
"Du skal sikre dig at adgangskoderne og krypteringsmetoden respekterer "
"systemets adgangskodepolitik."
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "PAM-konfiguration for <command>newusers</command>."
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -5298,7 +5385,7 @@ msgstr ""
msgid "log in to a new group"
msgstr "log ind på en ny gruppe"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr ""
@@ -5382,15 +5469,15 @@ msgstr ""
msgid "List of current login sessions."
msgstr "Liste over aktuelle logindsessioner."
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr ""
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr ""
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -5398,7 +5485,7 @@ msgid ""
"undesirable operation."
msgstr ""
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -5412,7 +5499,7 @@ msgstr ""
"indledes med tegnet »#« og tegnet skal være det første tegn på linjen, som "
"ikke er et mellemrum."
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -5425,7 +5512,7 @@ msgid ""
"and long numeric parameters is machine-dependent."
msgstr ""
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "De følgende konfigurationspunkter tilbydes:"
@@ -5525,6 +5612,24 @@ msgid ""
"If defined, login failures will be logged in this file in a utmp format."
msgstr ""
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>MOTD_FILE</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>MOTD_FILE</option> (streng)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
msgstr ""
@@ -5635,7 +5740,7 @@ msgid ""
"inhibited."
msgstr ""
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -5707,11 +5812,11 @@ msgstr ""
msgid "Default <command>ulimit</command> value."
msgstr "Standardværdi for <command>ulimit</command>."
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr ""
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
@@ -5719,116 +5824,116 @@ msgstr ""
"De følgende krydsreferencer viser hvilke programmer i shadows "
"adgangskodeprogrampakke der bruger hvilke parametre."
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr ""
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr ""
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr ""
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
msgstr ""
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr ""
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr ""
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr ""
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr ""
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr ""
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr ""
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr ""
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr ""
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr ""
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr ""
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr ""
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr ""
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr ""
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr ""
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr ""
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr ""
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE</"
@@ -5843,15 +5948,15 @@ msgid ""
"<phrase condition=\"no_pam\">ULIMIT UMASK</phrase> USERGROUPS_ENAB"
msgstr ""
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr ""
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr ""
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
msgid ""
"ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
"HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition="
@@ -5860,26 +5965,26 @@ msgid ""
"SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
msgstr ""
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
msgstr ""
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -5889,15 +5994,15 @@ msgid ""
"\">USERGROUPS_ENAB</phrase>"
msgstr ""
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr ""
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr ""
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
msgid ""
"CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR "
"MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE "
@@ -5906,19 +6011,19 @@ msgid ""
"<phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
msgid ""
"LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition="
"\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -5930,7 +6035,7 @@ msgid ""
"corresponding PAM configuration files instead."
msgstr ""
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -6537,7 +6642,7 @@ msgid ""
msgstr ""
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr ""
@@ -6551,7 +6656,7 @@ msgid ""
"its real size with \"<command>ls -s</command>\"."
msgstr ""
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -6567,6 +6672,14 @@ msgid ""
"processes entries with UIDs 171-799)."
msgstr ""
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -6677,11 +6790,11 @@ msgid ""
"citerefentry>."
msgstr ""
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "verificer integritet for gruppefiler"
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -6691,30 +6804,30 @@ msgid ""
"other uncorrectable errors."
msgstr ""
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "et unikt og gyldigt gruppenavn"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
msgstr ""
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
msgstr ""
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
"filename> checks)"
msgstr ""
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -6725,7 +6838,7 @@ msgid ""
"command to correct the error."
msgstr ""
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -6734,24 +6847,37 @@ msgid ""
"those circumstances to remove the offending entries."
msgstr ""
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "Tilvalgen som gælder for kommandoen <command>grpck</command> er:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
"without user intervention."
msgstr ""
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
msgstr ""
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid ""
"By default, <command>grpck</command> operates on <filename>/etc/group</"
"filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</"
@@ -6761,23 +6887,23 @@ msgid ""
"emphasis> parameters.</phrase>"
msgstr ""
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr ""
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "kan ikke åbne gruppefiler"
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "kan ikke låse gruppefiler"
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "kan ikke opdatere gruppefiler"
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -6785,7 +6911,7 @@ msgstr ""
"Kommandoen <command>grpck</command> findes med de følgende værdier: "
"<placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -6858,26 +6984,44 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr ""
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
+#| "<replaceable>HOME_DIR</replaceable>"
msgid ""
-"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
"replaceable>"
msgstr ""
+"<option>-d</option>, <option>--home-dir</option>&nbsp;"
+"<replaceable>HJEMMEMAPPE</replaceable>"
#: groupmod.8.xml:100(para)
msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+
+#: groupmod.8.xml:109(para)
+msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
msgstr ""
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
"used."
msgstr ""
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
@@ -6885,98 +7029,110 @@ msgstr ""
"Brugere som bruger gruppen som primær gruppe vil blive opdateret for at "
"beholde gruppen som deres primære gruppe."
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
msgstr ""
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
"<option>SYS_GID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
msgstr ""
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
msgstr ""
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
msgstr ""
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr "Administratorer kan ændre adgangskoden eller medlemmerne af gruppen."
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
msgid "E_USAGE: invalid command syntax"
msgstr ""
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "Ugyldigt argument for tilvalg"
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "angivet gruppe findes ikke"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "gruppenavn er allerede i brug"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "angivet gruppe findes ikke"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "gruppenavn er allerede i brug"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group files"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "kan ikke opdatere gruppefiler"
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
msgid "11"
msgstr ""
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -6984,7 +7140,7 @@ msgstr ""
"Kommandoen <command>groupmod</command> findes med de følgende værdier: "
"<placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -7115,7 +7271,7 @@ msgstr ""
msgid "The superuser can specify which group membership list to modify."
msgstr ""
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr ""
@@ -7190,7 +7346,13 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "Tilvalgene som gælder for kommandoen <command>groupdel</command> er:"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -7198,7 +7360,7 @@ msgstr ""
"De kan ikke fjerne den primære gruppe for en eksisterende bruger. Du skal "
"fjerne brugeren før du fjerner gruppen."
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
@@ -7206,11 +7368,11 @@ msgstr ""
"Du skal manuelt kontrollere alle filsystemer for at sikre dig, at ingen "
"filer fortsat er ejet af denne gruppe."
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "Kan ikke fjerne brugers primære gruppe"
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7218,7 +7380,7 @@ msgstr ""
"Kommandoen <command>groupdel</command> findes med de følgende værdier: "
"<placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -7311,44 +7473,48 @@ msgid ""
"<option>GID_MAX</option>."
msgstr ""
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
"dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
msgstr ""
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
msgstr ""
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr ""
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID er allerede i brug (og intet <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr ""
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "gruppenavn er allerede i brug"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
msgstr ""
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -7753,7 +7919,7 @@ msgstr ""
msgid "Force a password change if the current user has an expired password."
msgstr ""
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -7776,6 +7942,12 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr ""
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -8149,16 +8321,18 @@ msgstr ""
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
msgstr ""
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -8167,30 +8341,44 @@ msgid ""
"able to use the system again."
msgstr ""
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
"date."
msgstr ""
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-u</option>, <option>--user</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-u</option>, <option>--user</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
msgstr ""
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -8198,29 +8386,29 @@ msgid ""
"the system administrator before being able to use the system again."
msgstr ""
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
msgstr ""
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr ""
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
msgstr ""
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
msgstr ""
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -8230,13 +8418,13 @@ msgid ""
"provides the user with advance warning."
msgstr ""
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
msgstr ""
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -8244,7 +8432,7 @@ msgid ""
"expire."
msgstr ""
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -8253,7 +8441,7 @@ msgid ""
"<emphasis>[ ]</emphasis> marks."
msgstr ""
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -8261,7 +8449,23 @@ msgstr ""
"Programmet <command>chage</command> kræver at en adgangskodefil for shadow "
"er tilgængelig."
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -8272,15 +8476,15 @@ msgstr ""
"upriviligeret bruger til at bestemme hvornår denne brugers adgangskode eller "
"konto står til at udløbe."
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "Kan ikke finde shadows adgangskodefil"
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8300,5 +8504,14 @@ msgstr ""
#~ "Du kan bruge argumentet <option>--</option> til at adskille <command>su</"
#~ "command>-tilvalg fra argumenterne angivet til skallen."
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "Hvis feltet ikke angiver en eksisterende mappe, så oprettes den angiven "
+#~ "mappe, med ejerskab angivet for brugeren der oprettes elelr opdateres og "
+#~ "dennes primære gruppe."
+
#~ msgid "can't create mail spool"
#~ msgstr "kan ikke oprette postkø"
diff --git a/man/po/de.po b/man/po/de.po
index c7bb0d13..ab23e8f1 100644
--- a/man/po/de.po
+++ b/man/po/de.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow-man-pages\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:36+0200\n"
"Last-Translator: Simon Brandmair <sbrandmair@gmx.net>\n"
"Language-Team: debian-l10n-german <http://lists.debian.org/debian-l10n-"
@@ -33,13 +33,13 @@ msgstr "ursprünglicher Autor, 1997"
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -53,12 +53,12 @@ msgstr "Thomas"
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -70,11 +70,11 @@ msgstr "KÅ‚oczko"
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -86,12 +86,12 @@ msgstr "kloczek@pld.org.pl"
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -104,14 +104,14 @@ msgstr "shadow-utils-Betreuer, 2000 - 2007"
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -125,13 +125,13 @@ msgstr "Nicolas"
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -143,12 +143,12 @@ msgstr "François"
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -160,13 +160,13 @@ msgstr "nicolas.francois@centraliens.net"
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -176,18 +176,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr "shadow-utils-Betreuer, 2007 - heute"
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -196,10 +196,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -211,14 +211,14 @@ msgstr "Befehle zur Systemverwaltung"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -244,9 +244,9 @@ msgstr ""
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -257,12 +257,12 @@ msgstr "Optionen"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -297,8 +297,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -322,23 +322,23 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "bearbeitet die Gruppendatenbank"
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "zeigt die Hilfe an und beendet das Programm"
@@ -350,7 +350,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "bearbeitet die Passwd-Datenbank"
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -358,13 +358,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "stiller Modus"
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -372,13 +372,13 @@ msgstr ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_VERZ</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -404,26 +404,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "bestimmt, welche Tcb-Shadow-Datei des Benutzers bearbeitet werden soll"
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "KONFIGURATION"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -469,121 +469,121 @@ msgstr "EDITOR"
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr "der verwendete Editor, wenn <option>VISUAL</option> nicht gesetzt ist"
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "DATEIEN"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Informationen zu den Gruppenkonten"
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
# type: Plain text
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "sichere Informationen zu den Gruppenkonten"
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Informationen zu den Benutzerkonten"
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
# type: Plain text
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "verschlüsselte Informationen zu den Benutzerkonten"
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "SIEHE AUCH"
@@ -616,12 +616,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -632,11 +632,11 @@ msgstr "Julianne Frances"
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -648,14 +648,14 @@ msgstr "Haugh"
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr "ursprünglicher Autor, 1991"
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -703,8 +703,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -739,16 +739,22 @@ msgid "The user's new login directory."
msgstr "das neue Home-Verzeichnis des Benutzers"
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"Wenn die Option <option>-m</option> verwendet wurde, wird der Inhalt des "
"aktuellen Home-Verzeichnisses in das neue Home-Verzeichnis verschoben. Falls "
"dieses nicht existiert, wird es angelegt."
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -756,7 +762,7 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>VERFALLS_DATUM</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -764,7 +770,7 @@ msgstr ""
"Das Datum, an welchem das Benutzerkonto deaktiviert wird. Das Datum muss im "
"Format <emphasis remap=\"I\">JJJJ-MM-TT</emphasis> angegeben werden."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
@@ -772,7 +778,7 @@ msgstr ""
"Wenn das Argument <replaceable>VERFALLS_DATUM</replaceable> leer bleibt, "
"wird der Verfall des Kontos deaktiviert."
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -781,7 +787,7 @@ msgstr ""
"Datei <filename>/etc/shadow</filename> leer sein sollte, wird ein Eintrag "
"erstellt."
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -789,7 +795,7 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
@@ -797,7 +803,7 @@ msgstr ""
"Die Anzahl von Tagen, nach denen ein Passwort abgelaufen ist, bis das Konto "
"deaktiviert wird."
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
@@ -805,7 +811,7 @@ msgstr ""
"Ein Wert von 0 deaktiviert das Konto, sobald das Passwort abläuft. Ein Wert "
"von -1 schaltet diese Funktion ab."
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -813,7 +819,7 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GRUPPE</"
"replaceable>"
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
@@ -821,7 +827,7 @@ msgstr ""
"Der Name oder die Zahl der anfänglichen Anmeldegruppe eines neuen Benutzers. "
"Der Gruppenname muss existieren."
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
@@ -829,7 +835,7 @@ msgstr ""
"Jede Datei im Home-Verzeichnis des Benutzers, die der alten Hauptgruppe des "
"Benutzers gehörte, wird dieser neuen Gruppe gehören."
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
@@ -837,7 +843,15 @@ msgstr ""
"Die Gruppenzugehörigkeit von Dateien außerhalb des Home-Verzeichnisses des "
"Benutzers muss per Hand angepasst werden."
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -847,7 +861,7 @@ msgstr ""
"replaceable>[<emphasis remap=\"I\">,GRUPPE_2, ...</emphasis>[<emphasis remap="
"\"I\">,GRUPPE_N</emphasis>]]]"
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -859,7 +873,7 @@ msgstr ""
"Gruppen unterliegen denselben Beschränkungen wie die Gruppe, die mit der "
"Option <option>-g</option> bestimmt wurde."
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -871,7 +885,7 @@ msgstr ""
"Option <option>-a</option> abgeschaltet werden. Damit wird der Benutzer nur "
"den angegebenen Gruppen hinzugefügt, ohne aus den übrigen gelöscht zu werden."
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -879,7 +893,7 @@ msgstr ""
"<option>-l</option>, <option>--login</option>&nbsp;"
"<replaceable>NEUER_ANMELDENAME</replaceable>"
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -892,11 +906,11 @@ msgstr ""
"Verzeichnisses des Benutzers per Hand geändert werden, um dem neuen "
"Anmeldenamen Rechnung zu tragen."
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -907,7 +921,7 @@ msgstr ""
"abgeschaltet wird. Sie können diese Option nicht mit <option>-p</option> "
"oder <option>-U</option> verwenden."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
@@ -917,17 +931,18 @@ msgstr ""
"einem Passwort), müssen Sie auch das <replaceable>VERFALLSDATUM</"
"replaceable> auf <replaceable>1</replaceable> setzen."
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--move-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-"verschiebt den Inhalt des Home-Verzeichnisses eines Benutzers zu dem neuen "
-"Ziel"
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
@@ -935,7 +950,7 @@ msgstr ""
"Diese Option ist nur in Verbindung mit der Option <option>-d</option> (oder "
"<option>--home</option>) zulässig."
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
@@ -945,13 +960,13 @@ msgstr ""
"und die Rechte, ACL und erweiterten Attribute zu übernehmen, aber "
"Anpassungen per Hand können dennoch notwendig sein."
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
# SB: What is that suppossed to mean? I can assign the UID 1000 twice?
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
@@ -960,7 +975,7 @@ msgstr ""
"Option der Wert der Benutzer-ID auf einen nicht eindeutigen Wert gesetzt "
"werden."
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -969,7 +984,7 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORT</"
"replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -977,7 +992,7 @@ msgstr ""
"das verschlüsselte Passwort, wie es von <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry> zurückgegeben wird"
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -988,7 +1003,7 @@ msgstr ""
"empfehlenswert, weil das Passwort (auch wenn es verschlüsselt ist) für "
"Benutzer sichtbar ist, die sich den Prozess anzeigen lassen."
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
@@ -998,7 +1013,7 @@ msgstr ""
"<filename>/etc/shadow</filename> geschrieben. Dies könnte von der Passwort-"
"Datenbank abweichen, die Sie für PAM konfiguriert haben."
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
@@ -1006,8 +1021,8 @@ msgstr ""
"Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des "
"Systems entspricht."
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HOME_DIR</"
@@ -1019,8 +1034,8 @@ msgstr ""
"<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HOME_VERZ</"
"replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1029,7 +1044,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1038,15 +1053,15 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
-"Der Name der neuen Anmelde-Shell des Benutzers. Falls dieses Feld leer "
+"Der Pfad der neuen Anmelde-Shell des Benutzers. Falls dieses Feld leer "
"gelassen wird, verwendet das System die Standard-Anmelde-Shell."
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1054,11 +1069,11 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr "der neue numerische Wert der UID des Benutzers"
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
@@ -1066,7 +1081,7 @@ msgstr ""
"Dieser Wert muss eindeutig sein, sofern nicht die Option <option>-o</option> "
"verwendet wird. Der Wert darf nicht negativ sein."
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
@@ -1076,7 +1091,7 @@ msgstr ""
"seinem Home-Verzeichnis befinden, wird die ID des Eigentümers automatisch "
"angepasst."
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
@@ -1084,7 +1099,15 @@ msgstr ""
"Der Eigentümer von Dateien außerhalb des Home-Verzeichnisses des Benutzers "
"muss per Hand angepasst werden."
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
@@ -1094,11 +1117,11 @@ msgstr ""
"<option>SYS_UID_MIN</option> und <option>SYS_UID_MAX</option> aus <filename>/"
"etc/login.defs</filename> werden nicht geprüft."
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1108,7 +1131,7 @@ msgstr ""
"verschlüsselten Passwort. Sie können diese Option nicht mit <option>-p</"
"option> oder <option>-U</option> verwenden."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1121,7 +1144,7 @@ msgstr ""
"oder den Wert von <option>EXPIRE</option> aus <filename>/etc/default/"
"useradd</filename> setzen)."
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1133,17 +1156,17 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>MENGE</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>UID_MIN</option>, "
@@ -1158,7 +1181,7 @@ msgstr ""
"<option>SYS_UID_MIN</option> und <option>SYS_UID_MAX</option> aus <filename>/"
"etc/login.defs</filename> werden nicht geprüft."
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1170,11 +1193,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>MENGE</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1182,7 +1205,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1194,11 +1217,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>MENGE</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>GID_MIN</option>, "
@@ -1213,7 +1236,7 @@ msgstr ""
"<option>SYS_GID_MIN</option> und <option>SYS_GID_MAX</option> aus <filename>/"
"etc/login.defs</filename> werden nicht geprüft."
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1225,7 +1248,7 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>MENGE</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
#, fuzzy
#| msgid "Remove any SELinux user mapping for the user's login."
msgid "Remove a range of subordinate gids from the user's account."
@@ -1233,7 +1256,7 @@ msgstr ""
"entfernt die Zuordnung von SELinux-Benutzern aus den Anmeldeinformationen "
"des Benutzers"
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1241,7 +1264,7 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
@@ -1249,11 +1272,11 @@ msgstr ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;<replaceable>SE-"
"BENUTZER</replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr "der neue SELinux-Benutzer für den Anmeldenamen des Benutzers"
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
@@ -1262,16 +1285,16 @@ msgstr ""
"SELinux-Benutzern (sofern vorhanden) aus den Anmeldeinformationen des "
"Benutzers entfernt"
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "WARNUNGEN"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
#, fuzzy
#| msgid ""
#| "You must make certain that the named user is not executing any processes "
@@ -1292,7 +1315,7 @@ msgstr ""
"<command>usermod</command> sicher, auf anderen Architekturen überprüft es "
"nur, ob der Benutzer laut utmp eingeloggt ist."
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
@@ -1300,7 +1323,7 @@ msgstr ""
"Sie müssen den Eigentümer von <command>crontab</command>-Dateien oder "
"<command>at</command>-Aufträgen per Hand ändern."
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
"Sie müssen alle Änderung in Bezug auf NIS auf dem NIS-Server vornehmen."
@@ -1597,50 +1620,50 @@ msgstr ""
"nach dem folgenden Algorithmus aus der UID des Benutzers errechnet: "
"<placeholder-1/>"
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr "Konfiguration der Shadow-Passwort-Werkzeugsammlung"
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1701,7 +1724,7 @@ msgstr ""
"manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1726,7 +1749,8 @@ msgstr ""
"Die Optionen, die vom Befehl <command>userdel</command> unterstützt werden, "
"sind:"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option"
@@ -1902,91 +1926,113 @@ msgstr ""
"hat, und <command>useradd</command> wird standardmäßig eine Gruppe mit dem "
"Namen des Benutzers erstellen."
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"ordnet die Einträge in <filename>/etc/passwd</filename> und <filename>/etc/"
+"shadow</filename> nach der UID"
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "RÃœCKGABEWERTE"
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "Erfolg"
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "Die Passwortdatei kann nicht aktualisieren werden."
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "unzulässige Syntax für diesen Befehl"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "Der angegebene Benutzer ist nicht vorhanden."
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "Benutzer ist im Moment angemeldet."
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "Die Gruppendatei kann nicht aktualisieren werden."
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "Das Home-Verzeichnis kann nicht gelöscht werden."
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -1994,7 +2040,7 @@ msgstr ""
"Der Befehl <command>userdel</command> gibt beim Beenden folgende Werte "
"zurück: <placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -2008,7 +2054,7 @@ msgstr ""
"Konto später entfernen. Die Option <option>-f</option> erzwingt das Löschen "
"eines Kontos."
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
@@ -2016,7 +2062,7 @@ msgstr ""
"Sie sollten von Hand alle Systemdateien überprüfen, um sicherzustellen, dass "
"keine Dateien vorhanden sind, die dem gelöschten Benutzer gehören."
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
@@ -2024,7 +2070,7 @@ msgstr ""
"Sie sollten keine NIS-Attribute auf einem NIS-Client löschen. Dies muss auf "
"dem NIS-Server durchgeführt werden."
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -2043,7 +2089,7 @@ msgstr ""
"angezeigt und die betreffende Gruppe nicht entfernt. Mit der Option <option>-"
"f</option> kann das Löschen dieser Gruppe erzwungen werden."
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2103,7 +2149,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -2149,11 +2195,11 @@ msgstr ""
"Die Optionen, die vom Befehl <command>useradd</command> unterstützt werden, "
"sind:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2209,13 +2255,21 @@ msgstr ""
"replaceable>"
#: useradd.8.xml:178(para)
+#, fuzzy
+#| msgid ""
+#| "The new user will be created using <replaceable>HOME_DIR</replaceable> as "
+#| "the value for the user's login directory. The default is to append the "
+#| "<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</"
+#| "replaceable> and use that as the login directory name. The directory "
+#| "<replaceable>HOME_DIR</replaceable> does not have to exist but will not "
+#| "be created if it is missing."
msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
"Beim Anlegen des neuen Benutzers wird <replaceable>HOME_VERZ</replaceable> "
"als das Anmeldeverzeichnis des Benutzers verwendet. Um den Namen des "
@@ -2224,15 +2278,15 @@ msgstr ""
"replaceable> angehängt. Das Verzeichnis <replaceable>HOME_VERZ</replaceable> "
"muss nicht vorhanden sein, sondern wird gegebenenfalls angelegt."
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-D</option>, <option>--defaults</option>"
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr "Lesen Sie dazu unten den Abschnitt »Die Standardwerte verändern«."
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
@@ -2243,7 +2297,7 @@ msgstr ""
"<filename>/etc/default/useradd</filename> bestimmt wurde, anderenfalls eine "
"leere Zeichenkette (kein Verfall)."
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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 "
@@ -2253,7 +2307,7 @@ msgstr ""
"deaktiviert wird. Ein Wert von 0 deaktiviert das Konto, sobald das Passwort "
"abläuft. Ein Wert von -1 schaltet diese Funktion ab."
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
@@ -2264,7 +2318,7 @@ msgstr ""
"option> in <filename>/etc/default/useradd</filename> bestimmt wurde, "
"anderenfalls -1."
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
@@ -2273,7 +2327,7 @@ msgstr ""
"Gruppenname muss existieren. Die Gruppenzahl muss auf eine bereits "
"vorhandene Gruppe verweisen."
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2297,7 +2351,7 @@ msgstr ""
"fest, die mit der Variable <option>GROUP</option> in <filename>/etc/default/"
"useradd</filename> definiert wurde, anderenfalls 100."
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2311,7 +2365,7 @@ msgstr ""
"Option <option>-g</option> bestimmt wurde. Standardmäßig ist der Benutzer "
"nur Mitglied der Ausgangsgruppe."
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
@@ -2319,7 +2373,7 @@ msgstr ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>GERÃœST_VERZ</"
"replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
@@ -2329,7 +2383,7 @@ msgstr ""
"Home-Verzeichnis des Benutzers kopiert werden, wenn es von <command>useradd</"
"command> erstellt wird."
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
@@ -2337,7 +2391,7 @@ msgstr ""
"Diese Option ist nur zulässig, wenn auch die Option <option>-m</option> "
"(oder <option>--create-home</option>) angegeben wird."
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
@@ -2347,11 +2401,11 @@ msgstr ""
"Variable <option>SKEL</option> in <filename>/etc/default/useradd</filename> "
"festgelegt, anderenfalls ist dieses <filename>/etc/skel</filename>."
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr "Soweit möglich, werden die ACLs und erweiterten Attribute kopiert."
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2359,7 +2413,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>SCHLÃœSSEL</"
"replaceable>=<replaceable>WERT</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
#, fuzzy
#| msgid ""
#| "Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
@@ -2396,15 +2450,15 @@ msgstr ""
"<option>-K</option>&nbsp;<replaceable>UID_MAX</"
"replaceable>=<replaceable>499</replaceable>"
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--no-log-init</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr "Fügt den Benutzer nicht zu den Datenbanken lastlog und faillog hinzu."
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
#, fuzzy
#| msgid ""
#| "By default, the user's entries in the lastlog and faillog databases are "
@@ -2417,11 +2471,11 @@ msgstr ""
"faillog zurückgesetzt, um zu vermeiden, dass der Eintrag eines früher "
"gelöschten Benutzers verwendet wird."
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
@@ -2432,7 +2486,7 @@ msgstr ""
"<option>-k</option> festgelegt werden kann, werden in das Home-Verzeichnis "
"kopiert."
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
@@ -2440,13 +2494,20 @@ msgstr ""
"Wenn diese Option nicht angegeben wird und <option>CREATE_HOME</option> "
"nicht aktiviert wurde, wird standardmäßig kein Home-Verzeichnis erstellt."
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
@@ -2456,11 +2517,11 @@ msgstr ""
"systemweite Option <option>CREATE_HOME</option> in <filename>/etc/login."
"defs</filename> auf <replaceable>yes</replaceable> gesetzt ist."
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-N</option>, <option>--no-user-group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
@@ -2471,7 +2532,8 @@ msgstr ""
"Variable <option>GROUP</option> in <filename>/etc/default/useradd</filename> "
"angegeben wurde."
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2483,20 +2545,20 @@ msgstr ""
"<option>USERGROUPS_ENAB</option> in <filename>/etc/login.defs</filename> "
"bestimmt."
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
"Erlaubt das Erstellen eines Benutzerkontos mit einer schon vergebenen (nicht "
"eindeutigen) UID."
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr ""
"Diese Option kann nur in Verbindung mit der Option <option>-u</option> "
"verwendet werden."
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
@@ -2506,15 +2568,15 @@ msgstr ""
"refentrytitle><manvolnum>3</manvolnum></citerefentry> zurückgegeben wird. "
"Standardmäßig ist das Passwort deaktiviert."
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--system</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr "erstellt ein Systemkonto"
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2529,7 +2591,7 @@ msgstr ""
"<option>UID_MIN</option> bis <option>UID_MAX</option> gewählt (gleiches gilt "
"für die GID bei der Erstellung von Gruppen)."
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
#, fuzzy
#| msgid ""
#| "Note that <command>useradd</command> will not create a home directory for "
@@ -2548,7 +2610,7 @@ msgstr ""
"unabhängig von der Einstellung in <filename>/etc/login.defs</filename> "
"(<option>CREATE_HOME</option>) kein Home-Verzeichnis erzeugen wird."
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2560,7 +2622,7 @@ msgstr ""
"der Variable <option>SHELL</option> in <filename>/etc/default/useradd</"
"filename> definiert wird, anderenfalls bleibt das Feld leer."
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2573,7 +2635,7 @@ msgstr ""
"gleich <option>UID_MIN</option> und größer als jeder andere Wert eines "
"Benutzers verwendet."
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
@@ -2581,11 +2643,11 @@ msgstr ""
"Vergleichen Sie auch die Option <option>-r</option> und die Ausführungen zu "
"<option>UID_MAX</option>."
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-U</option>, <option>--user-group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
@@ -2593,7 +2655,7 @@ msgstr ""
"erstellt eine Gruppe mit dem gleichen Name wie der Benutzer und fügt diesen "
"der Gruppe hinzu"
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
@@ -2602,11 +2664,11 @@ msgstr ""
"bleibt dieses Feld leer und es wird dem System überlassen, den SELinux-"
"Benutzer zu bestimmen."
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "Die Standardwerte verändern"
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2619,7 +2681,7 @@ msgstr ""
"Optionen aufgerufen wird, werden deren Standardwerte entsprechend angepasst. "
"Die gültigen Optionen, um Standardwerte zu ändern, sind:"
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2631,7 +2693,7 @@ msgstr ""
"den Namen des Home-Verzeichnisses zu erhalten, falls nicht die Option "
"<option>-d</option> bei der Erstellung eines neuen Kontos verwendet wird."
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2639,11 +2701,11 @@ msgstr ""
"Diese Option verändert die Variable <option>HOME</option> in <filename>/etc/"
"default/useradd</filename>."
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "das Datum, an dem das Benutzerkonto abgeschaltet wird"
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2651,7 +2713,7 @@ msgstr ""
"Diese Option verändert die Variable <option>EXPIRE</option> in <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2659,7 +2721,7 @@ msgstr ""
"die Anzahl von Tagen nach dem Ablaufen des Passworts bis das Konto "
"deaktiviert wird"
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2667,7 +2729,7 @@ msgstr ""
"Diese Option verändert die Variable <option>INACTIVE</option> in <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2681,7 +2743,7 @@ msgstr ""
"option> auf <replaceable>no</replaceable> gesetzt ist). Die bezeichnete "
"Gruppe und die GID müssen existieren."
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2689,11 +2751,11 @@ msgstr ""
"Diese Option verändert die Variable <option>GROUP</option> in <filename>/etc/"
"default/useradd</filename>."
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "der Name der Anmelde-Shell des neuen Benutzers"
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2701,11 +2763,11 @@ msgstr ""
"Diese Option verändert die Variable <option>SHELL</option> in <filename>/etc/"
"default/useradd</filename>."
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "ANMERKUNGEN"
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2717,7 +2779,7 @@ msgstr ""
"einem anderen Gerüstverzeichnis, das in <filename>/etc/default/useradd</"
"filename> oder über die Befehlszeile definiert wurde), anzulegen."
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -2725,7 +2787,7 @@ msgstr ""
"Sie dürfen einen Benutzer nicht einer NIS- oder LDAP-Gruppe hinzufügen. Dies "
"muss auf dem entsprechenden Server durchgeführt werden."
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
@@ -2735,7 +2797,7 @@ msgstr ""
"erstellen, wenn der Benutzername schon in einer externen Benutzerdatenbank "
"wie z.B. NIS oder LDAP vorhanden ist."
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -2746,7 +2808,7 @@ msgstr ""
"Gedankenstriche enthalten. Sie können mit einem Dollarzeichen enden. Als "
"regulärer Ausdruck: [a-z_][a-z0-9_-]*[$]?"
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "Benutzernamen dürfen nur bis zu 32 Zeichen lang sein."
@@ -2848,9 +2910,14 @@ msgstr "<option>PASS_MIN_DAYS</option> (Zahl)"
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para)
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
"Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen "
@@ -3023,70 +3090,92 @@ msgstr ""
"Sie wird ebenfalls von <command>pam_umask</command> als die Standard-Umask "
"verwendet."
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
# type: Plain text
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Standardwerte für die Erstellung eines Kontos"
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"ordnet die Einträge in <filename>/etc/passwd</filename> und <filename>/etc/"
+"shadow</filename> nach der UID"
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "Verzeichnis, das die Standarddateien enthält"
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "ungültiges Argument für Option"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID ist schon vergeben (und kein <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "angegebene Gruppe ist nicht vorhanden"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "Benutzername ist schon vergeben"
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "Home-Verzeichnis kann nicht erstellt werden."
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
msgid "14"
msgstr "14"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr "Die Zuordnung von SELinux-Benutzern kann nicht aktualisiert werden."
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -3094,7 +3183,7 @@ msgstr ""
"Der Befehl <command>useradd</command> gibt beim Beenden folgende Werte "
"zurück: <placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -3164,17 +3253,17 @@ msgid "suauth"
msgstr "suauth"
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3384,7 +3473,7 @@ msgstr ""
" #\n"
" "
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "FEHLER"
@@ -3428,7 +3517,7 @@ msgid "Creation, 1989"
msgstr "ursprünglicher Autor, 1989"
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -4197,7 +4286,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -4298,9 +4387,13 @@ msgid "date of last password change"
msgstr "Datum, an dem das Passwort das letzte Mal geändert wurde"
#: shadow.5.xml:130(para)
+#, fuzzy
+#| msgid ""
+#| "The date of the last password change, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"Das Datum, als das Passwort das letzte Mal geändert wurde, wird als Anzahl "
"der Tage seit dem 1. Januar 1970 ausgedrückt."
@@ -4335,7 +4428,10 @@ msgstr ""
"warten muss, bevor er sein Passwort wieder ändern darf."
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+#, fuzzy
+#| msgid ""
+#| "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
"Eine leeres Feld oder der Wert 0 bedeuten, dass es kein Mindestalter eines "
"Passworts gibt."
@@ -4410,10 +4506,14 @@ msgstr ""
"verwenden kann (und während des nächsten Logins ändern muss)."
#: shadow.5.xml:209(para)
+#, fuzzy
+#| msgid ""
+#| "After expiration of the password and this expiration period is elapsed, "
+#| "no login is possible using the current user's password. The user should "
+#| "contact her administrator."
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
"Nachdem das Passwort abgelaufen ist und auch die Dauer der Untätigkeit "
"verstrichen ist, kann sich der Benutzer mit seinem Passwort nicht mehr "
@@ -4431,9 +4531,13 @@ msgid "account expiration date"
msgstr "Datum des Verfalls des Kontos"
#: shadow.5.xml:225(para)
+#, fuzzy
+#| msgid ""
+#| "The date of expiration of the account, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"Das Datum, an dem das Konto verfällt, wird als Anzahl der Tage seit dem 1. "
"Januar 1970 ausgedrückt."
@@ -4484,7 +4588,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "Sicherungskopie von /etc/shadow"
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4783,19 +4887,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -5004,26 +5108,26 @@ msgstr ""
"manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr "ursprünglicher Autor, 1992"
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "überprüft die Stimmigkeit der Passwortdateien"
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -5042,35 +5146,35 @@ msgstr ""
"aufgefordert, Einträge zu löschen, die falsch formatiert sind oder andere "
"unbehebbare Fehler enthalten."
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "Es wird überprüft, ob jeder Eintrag folgende Eigenschaften aufweist:"
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "die richtige Anzahl von Feldern"
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr "einen eindeutigen und gültigen Benutzernamen"
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "eine gültige Benutzer- und Gruppenkennung"
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "eine gültige Hauptgruppe"
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "ein gültiges Home-Verzeichnis"
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "eine gültige Anmelde-Shell"
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
@@ -5079,34 +5183,34 @@ msgstr ""
"zweiter Parameter angegeben wird oder auf dem System <filename>/etc/shadow</"
"filename> existiert."
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr "Diese Tests umfassen Folgendes:"
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
msgstr ""
"ob jedem Eintrag in passwd ein Eintrag in shadow entspricht und umgekehrt"
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr "ob die Passwörter in der Shadow-Datei niedergelegt sind"
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr "ob die shadow-Einträge die richtige Anzahl von Feldern haben"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr "ob die Shadow-Einträge in shadow eindeutig sind"
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr "dass das Datum der letzten Passwortänderung nicht in der Zukunft liegt"
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -5126,7 +5230,7 @@ msgstr ""
"Fehlern wird eine Warnung abgegeben und der Benutzer aufgefordert, den "
"Fehler mittels des Befehls <command>usermod</command> zu beheben."
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
@@ -5137,20 +5241,20 @@ msgstr ""
"sollte <command>pwck</command> verwendet werden, um den betreffenden Eintrag "
"zu entfernen."
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
"Die Optionen <option>-r</option> und <option>-s</option> können nicht "
"zusammen verwendet werden."
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr ""
"Die Optionen, die vom Befehl <command>pwck</command> unterstützt werden, "
"sind:"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
@@ -5158,19 +5262,19 @@ msgstr ""
"meldet nur Fehler. Warnungen, die keine Handlung des Benutzers erfordern, "
"werden nicht angezeigt"
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--read-only</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "führt den Befehl <command>pwck</command> im Modus Nur-Lesen aus"
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -5178,12 +5282,12 @@ msgstr ""
"ordnet die Einträge in <filename>/etc/passwd</filename> und <filename>/etc/"
"shadow</filename> nach der UID"
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr ""
"Diese Option ist wirkungslos, wenn <option>USE_TCB</option> aktiviert ist."
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -5197,7 +5301,7 @@ msgstr ""
"Benutzer kann andere Dateien mit den Parametern <replaceable>passwd</"
"replaceable> und <replaceable>shadow</replaceable> auswählen."
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
#, fuzzy
#| msgid ""
#| "Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
@@ -5213,27 +5317,41 @@ msgstr ""
"Versionen kann dieser Parameter durch ein anderes TCB-Verzeichnis ersetzt "
"werden."
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>CONSOLE</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>CONSOLE</option> (Zeichenkette)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "ein oder mehrere fehlerhafte Passworteinträge"
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "Die Passwortdatei kann nicht geöffnet werden."
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "Die Passwortdatei kann nicht gesperret werden."
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "Die Passwortdatei kann nicht aktualisieren werden."
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "Die Passwortdatei kann nicht sortieren werden."
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -5241,7 +5359,7 @@ msgstr ""
"Der Befehl <command>pwck</command> gibt beim Beenden folgende Werte zurück: "
"<placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -5468,16 +5586,23 @@ msgstr ""
"Sperrung."
#: passwd.5.xml:138(para)
+#, fuzzy
+#| msgid ""
+#| "The comment field is used by various system utilities, such as "
+#| "<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
+#| "manvolnum></citerefentry>."
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
"Das Kommentarfeld wird von verschiedenen Systemprogrammen wie z.B. "
"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry> ausgewertet."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
@@ -5489,7 +5614,7 @@ msgstr ""
"setzen."
# SB: Ãœbersetzung von "command language interpreter"?
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -5504,19 +5629,19 @@ msgstr ""
"setzen. Falls dieses Feld leer ist, wird ihm standardmäßig der Wert "
"<filename>/bin/sh</filename> zugewiesen."
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr "optionale Datei für verschlüsseltes Passwort"
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr "/etc/passwd-"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr "Sicherungskopie von /etc/passwd"
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -5805,7 +5930,7 @@ msgstr ""
"<option>-n</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_TAGE</"
"replaceable>"
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -5900,7 +6025,7 @@ msgstr ""
"Bestimmt die maximale Anzahl von Tagen, die das Passwort gültig bleibt. Nach "
"<replaceable>MAX_TAGE</replaceable> Tagen muss das Passwort geändert werden."
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -5951,31 +6076,39 @@ msgstr ""
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para)
#: gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
+#, fuzzy
+#| msgid ""
+#| "It can take one of these values: <replaceable>DES</replaceable> "
+#| "(default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
+#| "\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
+#| "replaceable></phrase>."
msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"Ihm kann einer der folgenden Wert zugewiesen werden: <replaceable>DES</"
"replaceable> (default), <replaceable>MD5</replaceable><phrase condition="
"\"sha_crypt\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
"replaceable></phrase>."
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
"Hinweis: Dieser Parameter überschreibt die Variable <option>MD5_CRYPT_ENAB</"
"option>."
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -6115,8 +6248,13 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
+#, fuzzy
+#| msgid ""
+#| "If not specified, the libc will choose the default number of rounds "
+#| "(5000)."
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
"Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen "
"(5000)."
@@ -6154,7 +6292,7 @@ msgstr "/etc/pam.d/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr "PAM-Konfiguration für <command>passwd</command>"
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "Berechtigung verweigert"
@@ -6257,7 +6395,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "Der Befehl <command>nologin</command> tauchte erstmals in BSD 4.4 auf."
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -6447,13 +6585,16 @@ msgstr "Mit diesem Feld wird das Home-Verzeichnis des Benutzers definiert."
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"Wenn in diesem Feld ein Verzeichnis angegeben wird, das nicht vorhanden ist, "
-"wird es erstellt. Dieses gehört dem Benutzer, der gerade erstellt und "
-"aktualisiert wird, und dessen Hauptgruppe."
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -6463,11 +6604,11 @@ msgstr ""
"verschiebt oder kopiert <command>newusers</command> nicht den Inhalt des "
"alten Verzeichnisses in das neue. Dies muss von Hand erledigt werden."
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr "pw_shell"
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
@@ -6475,7 +6616,7 @@ msgstr ""
"Mit diesem Feld wird die Shell des Benutzers definiert. Diese Eingabe wird "
"nicht überprüft."
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -6487,7 +6628,7 @@ msgstr ""
"Falls ein Fehler auftritt (außer beim Schreiben in die Datenbanken), werden "
"in den Datenbanken keine Änderungen vorgenommen."
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -6500,7 +6641,7 @@ msgstr ""
"Sofern dabei ein Fehler auftritt, wird dieser angezeigt, die Aktualisierung "
"der übrigen Passwörter aber fortgesetzt."
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -6508,21 +6649,21 @@ msgstr ""
"Dieser Befehl ist für den Einsatz in einer Umgebung mit zahlreichen Systemen "
"vorgesehen, in der viele Konten gleichzeitig aktualisiert werden müssen."
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr ""
"Die Optionen, die vom Befehl <command>newusers</command> unterstützt werden, "
"sind:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "Definiert die Methode, mit der die Passwörter verschlüsselt werden."
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -6530,7 +6671,7 @@ msgstr ""
"Die verfügbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit "
"Ihre libc sie unterstützt."
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -6545,17 +6686,17 @@ msgstr ""
"anstelle von <option>UID_MIN</option> bis <option>UID_MAX</option> gewählt "
"(gleiches gilt für die GID bei der Erstellung von Gruppen)."
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr ""
"Verwendet die angegebene Anzahl von Runden, um die Passwörter zu "
"verschlüsseln."
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
@@ -6563,18 +6704,18 @@ msgstr ""
"Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden "
"(5000) für die Verschlüsselung verwenden wird."
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr "Der Mindestwert ist 1000, der Höchstwert 999.999.999."
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
"Sie können diese Option nur mit den Verschlüsselungsmethoden SHA256 und "
"SHA512 verwenden."
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -6583,14 +6724,14 @@ msgstr ""
"SHA_CRYPT_MIN_ROUNDS und SHA_CRYPT_MAX_ROUNDS in <filename>/etc/login.defs</"
"filename> definiert."
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Die Eingabedatei muss geschützt werden, da sie unverschlüsselte Passwörter "
"enthält."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
@@ -6598,15 +6739,15 @@ msgstr ""
"Sie sollten darauf achten, dass Passwörter und Verschlüsselungsmethode in "
"Einklage mit der Passwortrichtlinie des Systems stehen."
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "Konfiguration von PAM für <command>newusers</command>."
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6645,7 +6786,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr "als neue Gruppe anmelden"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "Gruppe"
@@ -6762,15 +6903,15 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "Liste der aktuellen angemeldeten Sitzungen"
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr "Konfiguration der Werkzeugsammlung für Shadow-Passwörter"
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -6782,7 +6923,7 @@ msgstr ""
"muss vorhanden sein. Wenn sie fehlt, wird das System zwar laufen, es können "
"aber unerwünschte Ergebnisse auftauchen."
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -6797,7 +6938,7 @@ msgstr ""
"Rautezeichen »#« eingeleitet. Die Raute muss das erste nicht leere Zeichen "
"der Zeile sein."
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -6817,7 +6958,7 @@ msgstr ""
"oder Hexadezimalzahlen (beginnen mit »0x«) bestehen. Die maximale Größe der "
"Parameter normaler und langer Zahlen ist systemabhängig."
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "Die folgenden Konfigurationsmöglichkeiten sind vorhanden:"
@@ -6948,6 +7089,31 @@ msgstr ""
"Falls angegeben, werden fehlgeschlagene Anmeldeversuche in dieser Datei im "
"Format utmp protokolliert."
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENCRYPT_METHOD</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>ENCRYPT_METHOD</option> (Zeichenkette)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"Sie sollten in <citerefentry><refentrytitle>crypt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> nachsehen, wenn Sie "
+"mehr über die Bedeutung dieser Zeichenkette wissen wollen."
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
msgstr "<option>HUSHLOGIN_FILE</option> (Zeichenkette)"
@@ -7079,7 +7245,7 @@ msgstr ""
"Root verhindert. Der Inhalt der Datei sollte die Gründe enthalten, weshalb "
"Anmeldungen untersagt sind."
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -7167,11 +7333,11 @@ msgstr "<option>ULIMIT</option> (Zahl)"
msgid "Default <command>ulimit</command> value."
msgstr "der Standardwert von <command>ulimit</command>"
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr "QUERVERWEISE"
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
@@ -7179,22 +7345,22 @@ msgstr ""
"Die folgenden Querverweise zeigen, welche Programme aus der Shadow-Passwort-"
"Werkzeugsammlung welche Parameter verwenden."
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr "USE_TCB"
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
@@ -7202,12 +7368,12 @@ msgstr ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
@@ -7215,84 +7381,84 @@ msgstr ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB"
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHSH_AUTH LOGIN_STRING"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr "MAX_MEMBERS_PER_GROUP"
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
#, fuzzy
#| msgid ""
#| "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
@@ -7332,15 +7498,15 @@ msgstr ""
"TTYGROUP TTYPERM TTYTYPE_FILE <phrase condition=\"no_pam\">ULIMIT UMASK</"
"phrase> USERGROUPS_ENAB"
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr "newgrp / sg"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr "SYSLOG_SG_ENAB"
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
#| msgid ""
#| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -7359,7 +7525,7 @@ msgstr ""
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase> SYS_GID_MAX "
"SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
@@ -7369,7 +7535,7 @@ msgstr ""
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
@@ -7377,7 +7543,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
@@ -7385,7 +7551,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -7401,15 +7567,15 @@ msgstr ""
"\"no_pam\">SU_WHEEL_ONLY</phrase> SYSLOG_SU_ENAB <phrase condition=\"no_pam"
"\">USERGROUPS_ENAB</phrase>"
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr "sulogin"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
#| msgid ""
#| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS "
@@ -7428,7 +7594,7 @@ msgstr ""
"UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK "
"USE_TCB</phrase>"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
@@ -7436,7 +7602,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid ""
#| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
@@ -7448,7 +7614,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
"\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -7470,7 +7636,7 @@ msgstr ""
"citerefentry> nur noch in geringem Umfang beachtet. Sie sollten daher für "
"eine entsprechende Konfiguration in den Dateien von PAM nachsehen."
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -8298,7 +8464,7 @@ msgstr ""
"selbst wenn Einträge über gelöschte Benutzer noch vorhanden sind."
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "ANMERKUNGEN"
@@ -8320,7 +8486,7 @@ msgstr ""
"filename> befinden). Die wirkliche Dateigröße lässt sich mit »<command>ls -"
"s</command>« anzeigen."
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -8341,6 +8507,14 @@ msgstr ""
"befindet, wird es scheinen, als ob lastlog stehen geblieben ist, während es "
"die Einträge mit der UID 171 bis 799 verarbeitet."
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr "ursprünglicher Autor, 2005"
@@ -8482,11 +8656,11 @@ msgstr ""
"<citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>."
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "überprüft die Stimmigkeit der Gruppendateien"
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -8503,11 +8677,11 @@ msgstr ""
"oder andere unbehebbare Fehler enthält, wird der Benutzer aufgefordert, ihn "
"zu löschen."
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "einen eindeutigen und gültigen Gruppennamen"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
@@ -8515,7 +8689,7 @@ msgstr ""
"eine gültige Gruppenkennung <phrase condition=\"gshadow\"> (nur für "
"<filename>/etc/group</filename>)</phrase>"
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
@@ -8523,7 +8697,7 @@ msgstr ""
"eine gültige Liste der Mitglieder <phrase condition=\"gshadow\"> und "
"Gruppenverwalter</phrase>"
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
@@ -8533,7 +8707,7 @@ msgstr ""
"(oder in <filename>/etc/group</filename> bei der Überprüfung von "
"<filename>gshadow</filename>)"
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -8553,7 +8727,7 @@ msgstr ""
"Fehlern wird eine Warnung ausgegeben und der Benutzer aufgefordert, den "
"Fehler mittels des Befehls <command>groupmod</command> zu beheben."
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -8568,13 +8742,13 @@ msgstr ""
"In solchen Fällen sollte <command>grpwck</command> verwendet werden, um die "
"betreffenden Einträge zu entfernen."
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr ""
"Die Optionen, die vom Befehl <command>grpck</command> unterstützt werden, "
"sind:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
@@ -8585,7 +8759,7 @@ msgstr ""
"<emphasis>no</emphasis> beantworteten werden, ohne dass der Benutzer "
"einzugreifen braucht."
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
@@ -8593,7 +8767,20 @@ msgstr ""
"Ordnet die Einträge in <filename>/etc/group</filename><phrase condition="
"\"gshadow\">und <filename>/etc/gshadow</filename></phrase> nach der GID."
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid ""
"By default, <command>grpck</command> operates on <filename>/etc/group</"
"filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</"
@@ -8610,23 +8797,23 @@ msgstr ""
"\">group</emphasis> und <emphasis remap=\"I\">shadow</emphasis></phrase> "
"auswählen."
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "ein oder mehrere fehlerhafte Gruppeneinträge"
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "Die Gruppendateien können nicht geöffnet werden."
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "Die Gruppendateien können nicht gesperrt werden."
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "Die Gruppendateien können nicht aktualisiert werden."
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8634,7 +8821,7 @@ msgstr ""
"Der Befehl <command>grpck</command> gibt beim Beenden folgende Werte zurück: "
"<placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -8738,9 +8925,13 @@ msgstr ""
"Die Optionen, die vom Befehl <command>groupmod</command> unterstützt werden, "
"sind:"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
msgid ""
-"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
"replaceable>"
msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
@@ -8748,13 +8939,27 @@ msgstr ""
#: groupmod.8.xml:100(para)
msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:109(para)
+msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
msgstr ""
"Die Gruppen-ID der angegebenen <replaceable>GRUPPE</replaceable> wird zu "
"<replaceable>GID</replaceable> geändert."
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
@@ -8764,7 +8969,7 @@ msgstr ""
"dezimale Zahl sein. Er muss eindeutig sein, außer wenn die Option <option>-"
"o</option> verwendet wird."
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
@@ -8772,7 +8977,7 @@ msgstr ""
"Benutzer, welche die Gruppe als Hauptgruppe verwenden, werden aktualisiert, "
"um die Gruppe als Hauptgruppe zu behalten."
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
@@ -8781,7 +8986,7 @@ msgstr ""
"<replaceable>GROUP</replaceable> gehören sollen, muss die Gruppen-ID per "
"Hand angepasst werden."
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
@@ -8791,7 +8996,7 @@ msgstr ""
"<option>SYS_GID_MIN</option> und <option>SYS_GID_MAX</option> aus <filename>/"
"etc/login.defs</filename> werden nicht geprüft."
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -8799,7 +9004,7 @@ msgstr ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEUE_GRUPPE</replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
@@ -8807,7 +9012,7 @@ msgstr ""
"Der Gruppenname wird vom Namen <replaceable>GRUPPE</replaceable> zu "
"<replaceable>NEUE_GRUPPE</replaceable> geändert."
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
@@ -8816,71 +9021,84 @@ msgstr ""
"Wert der Gruppen-<replaceable>GID</replaceable> auf einen nicht eindeutigen "
"Wert gesetzt werden."
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr ""
+"Gruppenverwalter können das Passwort und die Mitglieder der Gruppe ändern."
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "unzulässige Syntax für diesen Befehl"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "ungültiges Argument für Option"
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "angegebene Gruppe ist nicht vorhanden"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "Gruppenname wird schon verwendet"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "angegebene Gruppe ist nicht vorhanden"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "Gruppenname wird schon verwendet"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "Die Gruppendatei kann nicht aktualisieren werden."
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8888,7 +9106,7 @@ msgstr ""
"Der Befehl <command>groupmod</command> gibt beim Beenden folgende Werte "
"zurück: <placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9052,7 +9270,7 @@ msgid "The superuser can specify which group membership list to modify."
msgstr ""
"Root kann eine Gruppen bestimmen, deren Mitgliederliste er bearbeiten will."
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -9156,7 +9374,13 @@ msgstr ""
"Die Optionen, die vom Befehl <command>groupdel</command> unterstützt werden, "
"sind:"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -9164,7 +9388,7 @@ msgstr ""
"Sie können nicht die Hauptgruppe eines Benutzers entfernen. Dazu müssten Sie "
"zunächst den betreffenden Benutzer löschen."
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
@@ -9172,11 +9396,11 @@ msgstr ""
"Sie sollten von Hand alle Systemdateien überprüfen, um sicherzustellen, dass "
"keine Dateien, die der gelöschten Gruppe angehören, vorhanden sind."
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "Die Hauptgruppe eines Benutzers kann nicht entfernen werden."
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9184,7 +9408,7 @@ msgstr ""
"Der Befehl <command>groupdel</command> gibt beim Beenden folgende Werte "
"zurück: <placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9321,7 +9545,7 @@ msgstr ""
"welche in <filename>login.defs</filename> festgelegt wird, anstelle von "
"<option>GID_MIN</option> bis <option>GID_MAX</option>."
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -9332,12 +9556,12 @@ msgstr ""
"Gedankenstriche enthalten. Das letzte Zeichen darf auch ein Dollarzeichen "
"sein. Als regulärer Ausdruck: [a-z_][a-z0-9_-]*[$]?"
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
"Gruppennamen dürfen nur bis zu &GROUP_NAME_MAX_LENGTH; Zeichen lang sein."
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -9345,7 +9569,7 @@ msgstr ""
"Sie können einen Benutzer nicht einer NIS- oder LDAP-Gruppe hinzufügen. Dies "
"müssen Sie auf dem entsprechenden Server durchführen."
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
@@ -9354,15 +9578,19 @@ msgstr ""
"LDAP) vergeben ist, wird <command>groupadd</command> die Gruppe nicht "
"erstellen."
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "GID nicht eindeutig (wenn <option>-o</option> nicht angegeben wird)"
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID ist schon vergeben (und kein <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr "Gruppenname nicht eindeutig"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "Gruppenname wird schon verwendet"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9370,7 +9598,7 @@ msgstr ""
"Der Befehl <command>groupadd</command> gibt beim Beenden folgende Werte "
"zurück: <placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9932,7 +10160,7 @@ msgstr ""
"erzwingt den Wechsel des Passworts des aktuellen Benutzers, falls dieses "
"abgelaufen ist"
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -9966,6 +10194,18 @@ msgstr ""
"Die Optionen, die vom Befehl <command>chsh</command> unterstützt werden, "
"sind:"
+#: chsh.1.xml:123(para)
+#, fuzzy
+#| msgid ""
+#| "The path of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"Der Pfad der neuen Anmelde-Shell des Benutzers. Falls dieses Feld leer "
+"gelassen wird, verwendet das System die Standard-Anmelde-Shell."
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -10485,17 +10725,24 @@ msgstr ""
# SB: So I could also do DD.MM.YYYY or MM.DD.YYYY? How does system know which format I chose?
#: chage.1.xml:101(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
"Legt die Anzahl der Tage, gerechnet ab dem 1. Januar 1970, fest, seit denen "
"das Passwort das letzte Mal gewechselt wurde. Das Datum kann auch im Format "
"JJJJ-MM-TT (oder in dem Format, das in Ihrer Region verbreitet ist) "
"angegeben werden."
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -10503,7 +10750,7 @@ msgstr ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>VERFALLSDATUM</replaceable>"
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -10518,7 +10765,21 @@ msgstr ""
"Systemadministrator in Verbindung setzen, ehe er sich wieder am System "
"anmelden kann."
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -10527,17 +10788,17 @@ msgstr ""
"Wenn <emphasis remap=\"I\">-1</emphasis> als <replaceable>VERFALLSDATUM</"
"replaceable> angegeben wird, wird das Verfallsdatum für das Konto entfernt."
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--sort</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -10545,7 +10806,7 @@ msgstr ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -10559,7 +10820,7 @@ msgstr ""
"mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am "
"System anmelden kann."
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -10568,11 +10829,11 @@ msgstr ""
"replaceable> angegeben wird, wird die Ãœberwachung der fehlenden Verwendung "
"des Kontos entfernt."
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "zeigt Informationen zur Kontoalterung an"
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -10580,7 +10841,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_TAGE</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -10588,7 +10849,7 @@ msgstr ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_TAGE</"
"replaceable>"
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -10604,7 +10865,7 @@ msgstr ""
"option> werden die Benutzer vor dem drohenden Verfall ihres Passworts "
"gewarnt."
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -10612,7 +10873,7 @@ msgstr ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_TAGE</replaceable>"
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -10624,7 +10885,7 @@ msgstr ""
"replaceable> bezeichnet die Anzahl der Tage, für die ein Benutzer vor "
"Verfall seines Passworts gewarnt wird."
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -10639,7 +10900,7 @@ msgstr ""
"aktuelle Wert wird zwischen einem Paar von <emphasis remap=\"B\">[ ]</"
"emphasis> angezeigt."
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -10647,7 +10908,23 @@ msgstr ""
"Für das Programm <command>chage</command> ist es notwendig, dass eine Shadow-"
"Passwort-Datei vorhanden ist."
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -10657,15 +10934,15 @@ msgstr ""
"Alle anderen Benutzer können nur die Option <option>-l</option> verwenden, "
"um die Verfallsdaten für ihr Konto einzusehen."
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "Eine Shadow-Passwort-Datei kann nicht gefunden werden."
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -10678,6 +10955,11 @@ msgstr ""
msgid "translator-credits"
msgstr "Simon Brandmair (sbrandmair@gmx.net), 2005, 2007, 2011."
+#~ msgid "Move the content of the user's home directory to the new location."
+#~ msgstr ""
+#~ "verschiebt den Inhalt des Home-Verzeichnisses eines Benutzers zu dem "
+#~ "neuen Ziel"
+
# SB: Bessere Ãœbersetzung als 'Zielbenutzer'?
#~ msgid ""
#~ "Additional arguments may be provided after the username, in which case "
@@ -10731,6 +11013,21 @@ msgstr "Simon Brandmair (sbrandmair@gmx.net), 2005, 2007, 2011."
#~ "befindet sich unter <citerefentry><refentrytitle>crypt</"
#~ "refentrytitle><manvolnum>3</manvolnum></citerefentry>."
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "Wenn in diesem Feld ein Verzeichnis angegeben wird, das nicht vorhanden "
+#~ "ist, wird es erstellt. Dieses gehört dem Benutzer, der gerade erstellt "
+#~ "und aktualisiert wird, und dessen Hauptgruppe."
+
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "GID nicht eindeutig (wenn <option>-o</option> nicht angegeben wird)"
+
+#~ msgid "group name not unique"
+#~ msgstr "Gruppenname nicht eindeutig"
+
#~ msgid "-M"
#~ msgstr "-M"
diff --git a/man/po/fr.po b/man/po/fr.po
index f795f395..7b006fea 100644
--- a/man/po/fr.po
+++ b/man/po/fr.po
@@ -21,7 +21,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow-man-pages 4.0.18\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2019-01-30 21:55+0100\n"
"Last-Translator: Jean-Philippe MENGUAL <mengualjeanphi@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -52,13 +52,13 @@ msgstr "Création, 1997"
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -72,12 +72,12 @@ msgstr "Thomas"
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -89,11 +89,11 @@ msgstr "KÅ‚oczko"
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -105,12 +105,12 @@ msgstr "kloczek@pld.org.pl"
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -123,14 +123,14 @@ msgstr "Responsable de shadow-utils, 2000 - 2007"
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -144,13 +144,13 @@ msgstr "Nicolas"
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -162,12 +162,12 @@ msgstr "François"
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -179,13 +179,13 @@ msgstr "nicolas.francois@centraliens.net"
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -195,18 +195,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr "Responsable de shadow-utils, 2007 - maintenant"
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -215,10 +215,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -230,14 +230,14 @@ msgstr "Commandes de gestion du système"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -261,9 +261,9 @@ msgstr "Éditer les fichiers passwd, group, shadow ou gshadow"
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -274,12 +274,12 @@ msgstr "options"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -315,8 +315,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -340,23 +340,23 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "Éditer la base de données de groupes."
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Afficher un message d'aide et quitter."
@@ -368,7 +368,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "Éditer la base de données passwd."
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -376,13 +376,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "Mode silencieux."
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -390,13 +390,13 @@ msgstr ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>RÉP_CHROOT</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -422,26 +422,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "Indique l'utilisateur dont le fichier shadow de tcb doit être édité."
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "CONFIGURATION"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -487,119 +487,119 @@ msgstr "EDITOR"
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr "L'éditeur à utiliser si <option>VISUAL</option> n'est pas définie."
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "FICHIERS"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Informations sur les groupes."
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Informations sécurisées sur les groupes."
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Informations sur les comptes des utilisateurs."
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Informations sécurisées sur les comptes utilisateurs."
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "VOIR AUSSI"
@@ -632,12 +632,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -648,11 +648,11 @@ msgstr "Julianne Frances"
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -664,14 +664,14 @@ msgstr "Haugh"
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr "Création, 1991"
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -718,8 +718,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -755,16 +755,22 @@ msgid "The user's new login directory."
msgstr "Le nouveau répertoire personnel de l'utilisateur."
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"Si l'option <option>-m</option> est fournie, le contenu du répertoire "
"personnel actuel sera déplacé dans le nouveau répertoire personnel, qui sera "
"créé si nécessaire."
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -772,7 +778,7 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>DATE_FIN_VALIDITÉ</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -780,7 +786,7 @@ msgstr ""
"Date à laquelle le compte utilisateur sera désactivé. La date est indiquée "
"dans le format <emphasis remap=\"I\">AAAA-MM-JJ</emphasis>."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
@@ -788,7 +794,7 @@ msgstr ""
"Un paramètre <replaceable>DATE_FIN_VALIDITÉ</replaceable> vide désactivera "
"l'expiration du compte."
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -796,7 +802,7 @@ msgstr ""
"Cette option nécessite un fichier <filename>/etc/shadow</filename>. Une "
"entrée <filename>/etc/shadow</filename> sera créée si il n'y en avait pas."
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -804,7 +810,7 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;"
"<replaceable>DURÉE_INACTIVITÉ</replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
@@ -812,7 +818,7 @@ msgstr ""
"Nombre de jours suivant la fin de validité d'un mot de passe après lequel le "
"compte est définitivement désactivé."
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
@@ -820,7 +826,7 @@ msgstr ""
"Une valeur de 0 désactive le compte dès que le mot de passe a dépassé sa fin "
"de validité, et une valeur de -1 désactive cette fonctionnalité."
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -828,7 +834,7 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUPE</"
"replaceable>"
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
@@ -836,7 +842,7 @@ msgstr ""
"Nom du groupe ou identifiant numérique du groupe de connexion initial de "
"l'utilisateur. Le groupe doit exister."
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
@@ -844,7 +850,7 @@ msgstr ""
"Tout fichier du répertoire personnel de l'utilisateur appartenant au groupe "
"primaire précédent de l'utilisateur appartiendra à ce nouveau groupe."
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
@@ -852,7 +858,15 @@ msgstr ""
"Le groupe propriétaire des fichiers en dehors du répertoire personnel de "
"l'utilisateur doit être modifié manuellement."
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -862,7 +876,7 @@ msgstr ""
"replaceable>[<emphasis remap=\"I\">,GROUPE2,...</emphasis>[<emphasis remap="
"\"I\">,GROUPEN</emphasis>]]]"
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -874,7 +888,7 @@ msgstr ""
"espace entre eux. Les groupes sont soumis aux mêmes restrictions que celles "
"de l'option <option>-g</option>."
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -886,7 +900,7 @@ msgstr ""
"l'option <option>-a</option>, qui permet d'ajouter l'utilisateur à la liste "
"actuelle des groupes supplémentaires."
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -894,7 +908,7 @@ msgstr ""
"<option>-l</option>, <option>--login</option>&nbsp;"
"<replaceable>NOUVEAU_LOGIN</replaceable>"
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -907,11 +921,11 @@ msgstr ""
"lettres de l'utilisateur devrontprobablement être changés pour refléter le "
"nouveau nom de connexion."
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -922,7 +936,7 @@ msgstr ""
"pouvez pas utiliser cette option avec <option>-p</option> ou <option>-U</"
"option>."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
@@ -932,17 +946,18 @@ msgstr ""
"par un mot de passe), il est également nécessaire de placer "
"<replaceable>DATE_FIN_VALIDITÉ</replaceable> à <replaceable>1</replaceable>."
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--move-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-"Déplacer le contenu du répertoire personnel de l'utilisateur vers un nouvel "
-"emplacement."
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
@@ -950,7 +965,7 @@ msgstr ""
"Cette option ne fonctionne que lorsqu'elle est combinée avec l'option "
"<option>-d</option> (ou <option>--home</option>)."
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
@@ -960,12 +975,12 @@ msgstr ""
"et de copier les modes, ACL et attributs étendus. Cependant, vous risquez de "
"devoir procéder à des modifications vous-même."
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
@@ -973,7 +988,7 @@ msgstr ""
"En combinaison avec l'option <option>-u</option>, cette option permet de "
"changer l'identifiant utilisateur vers une valeur déjà utilisée."
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -982,7 +997,7 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;"
"<replaceable>MOT_DE_PASSE</replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -990,7 +1005,7 @@ msgstr ""
"Mot de passe chiffré, comme renvoyé par <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -1001,7 +1016,7 @@ msgstr ""
"est déconseillée car le mot de passe (ou le mot de passe chiffré) peut être "
"visible des utilisateurs qui affichent la liste des processus. "
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
@@ -1012,7 +1027,7 @@ msgstr ""
"différent de la base de données de mots de passe définie dans la "
"configuration de PAM."
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
@@ -1020,8 +1035,8 @@ msgstr ""
"Il est nécessaire de vérifier si le mot de passe respecte la politique de "
"mots de passe du système."
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HOME_DIR</"
@@ -1033,8 +1048,8 @@ msgstr ""
"<option>-d</option>, <option>--home</option> <replaceable>RÉP_PERSO</"
"replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1043,7 +1058,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1052,16 +1067,20 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;"
"<replaceable>INTERPRÉTEUR</replaceable>"
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
+#, fuzzy
+#| msgid ""
+#| "The name of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
"Nom du nouvel interpréteur de commandes initial (« login shell ») de "
"l'utilisateur. Si ce champ est vide, le système sélectionnera l'interpréteur "
"de commandes initial par défaut."
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1069,11 +1088,11 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr "La valeur numérique de l'identifiant de l'utilisateur."
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
@@ -1081,7 +1100,7 @@ msgstr ""
"Cette valeur doit être unique, à moins que l'option <option>-o</option> ne "
"soit utilisée. La valeur ne doit pas être négative."
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
@@ -1091,7 +1110,7 @@ msgstr ""
"sont situés dans son répertoire personnel verront leur identifiant "
"d'utilisateur automatiquement modifié."
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
@@ -1099,7 +1118,15 @@ msgstr ""
"Le propriétaire des fichiers en dehors du répertoire personnel de "
"l'utilisateur doit être modifié manuellement."
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
@@ -1109,11 +1136,11 @@ msgstr ""
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, ou "
"<option>SYS_UID_MAX</option> du fichier <filename>/etc/login.defs</filename>."
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1123,7 +1150,7 @@ msgstr ""
"devant le mot de passe chiffré. Vous ne pouvez pas utiliser cette option "
"avec <option>-p</option> ou <option>-L</option>."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1136,7 +1163,7 @@ msgstr ""
"<replaceable>99999</replaceable> ou à la valeur <option>EXPIRE</option> dans "
"<filename>/etc/default/useradd</filename>)."
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
msgid ""
"<option>-v</option>, <option>--add-subuids</option>&nbsp;<replaceable>FIRST</"
"replaceable>-<replaceable>LAST</replaceable>"
@@ -1144,11 +1171,11 @@ msgstr ""
"<option>-v</option>, <option>--add-subuids</option> <replaceable>PREMIER</"
"replaceable>-<replaceable>DERNIER</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr "Ajoute une plage d'UIDs subalternes au compte de l'utilisateur."
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
@@ -1156,7 +1183,7 @@ msgstr ""
"Vous pouvez indiquer plusieurs fois cette option, pour ajouter plusieurs "
"plages de comptes utilisateurs."
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
msgid ""
"No checks will be performed with regard to <option>SUB_UID_MIN</option>, "
"<option>SUB_UID_MAX</option>, or <option>SUB_UID_COUNT</option> from /etc/"
@@ -1166,7 +1193,7 @@ msgstr ""
"option>, <option>SUB_UID_MAX</option>, ou <option>SUB_UID_COUNT</option> du "
"fichier <filename>/etc/login.defs</filename>."
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
msgid ""
"<option>-V</option>, <option>--del-subuids</option>&nbsp;<replaceable>FIRST</"
"replaceable>-<replaceable>LAST</replaceable>"
@@ -1174,11 +1201,11 @@ msgstr ""
"<option>-V</option>, <option>--del-subuids</option> <replaceable>PREMIER</"
"replaceable>-<replaceable>DERNIER</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr "Supprime une plage d'Uids subalternes du compte de l'utilisateur."
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1191,7 +1218,7 @@ msgstr ""
"les plages d'uids subalternes se fait avant tout ajout d'une plage d'uids "
"subalternes."
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
msgid ""
"<option>-w</option>, <option>--add-subgids</option>&nbsp;<replaceable>FIRST</"
"replaceable>-<replaceable>LAST</replaceable>"
@@ -1199,11 +1226,11 @@ msgstr ""
"<option>-w</option>, <option>--add-subgids</option> <replaceable>PREMIER</"
"replaceable>-<replaceable>DERNIER</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr "Ajoute une plage de gids subalternes au compte d'un utilisateur."
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
msgid ""
"No checks will be performed with regard to <option>SUB_GID_MIN</option>, "
"<option>SUB_GID_MAX</option>, or <option>SUB_GID_COUNT</option> from /etc/"
@@ -1213,7 +1240,7 @@ msgstr ""
"option>, <option>SUB_GID_MAX</option>, ou <option>SUB_GID_COUNT</option> du "
"fichier <filename>/etc/login.defs</filename>."
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
msgid ""
"<option>-W</option>, <option>--del-subgids</option>&nbsp;<replaceable>FIRST</"
"replaceable>-<replaceable>LAST</replaceable>"
@@ -1221,11 +1248,11 @@ msgstr ""
"<option>-W</option>, <option>--del-subgids</option> <replaceable>PREMIER</"
"replaceable>-<replaceable>DERNIER</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
msgid "Remove a range of subordinate gids from the user's account."
msgstr "Supprime une plage de gids subalternes du compte de l'utilisateur."
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1238,7 +1265,7 @@ msgstr ""
"touts les plages de gids subalternes se fera aant tout ajout d'une plage de "
"gids subalternes."
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
@@ -1246,12 +1273,12 @@ msgstr ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>UTILISATEUR_SELINUX</replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr ""
"Le nouvel utilisateur SELinux utilisé pour la connexion de l'utilisateur."
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
@@ -1260,16 +1287,16 @@ msgstr ""
"de l'utilisateur SELinux pour l'utilisateur <replaceable>LOGIN</replaceable> "
"(si spécifiée)"
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "AVERTISSEMENTS"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
msgid ""
"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, the "
@@ -1284,7 +1311,7 @@ msgstr ""
"Linux mais vérifie seulement les informations d'utmp sur les autres "
"architectures pour vérifier si l'utilisateur est connecté."
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
@@ -1293,7 +1320,7 @@ msgstr ""
"<command>crontab</command> ou des travaux programmés par <command>at</"
"command>."
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
"Les modifications qui concernent NIS doivent être effectuées sur le serveur "
@@ -1584,47 +1611,47 @@ msgstr ""
"user, mais sera calculé en fonction de l'UID de l'utilisateur, à l'aide de "
"l'algorithme suivant : <placeholder-1/>"
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr ""
"Configuration de la suite des mots de passe cachés « shadow password »."
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
msgid "/etc/subgid"
msgstr "/etc/subgid"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr "IDs des groupes subalternes d'un utilisateur."
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
msgid "/etc/subuid"
msgstr "/etc/subuid"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr "IDs de utilisateurs subalternes d'un utilisateur."
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -1669,7 +1696,7 @@ msgstr ""
"refentrytitle><manvolnum>8</manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1692,7 +1719,8 @@ msgid "The options which apply to the <command>userdel</command> command are:"
msgstr ""
"Les options disponibles de la commande <command>userdel</command> sont :"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1868,91 +1896,113 @@ msgstr ""
"contient pas d'autres membres, et <command>useradd</command> créera par "
"défaut un groupe portant le nom de l'utilisateur."
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"Trie les entrées de <filename>/etc/passwd</filename> et <filename>/etc/"
+"shadow</filename> par UID."
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "VALEURS DE RETOUR"
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "succès"
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "impossible de mettre à jour le fichier des mots de passe"
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "erreur de syntaxe"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "l'utilisateur indiqué n'existe pas"
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "l'utilisateur est actuellement connecté"
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "impossible de mettre à jour le fichier des groupes"
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "impossible de supprimer le répertoire personnel"
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -1960,7 +2010,7 @@ msgstr ""
"La commande <command>userdel</command> retourne les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -1974,7 +2024,7 @@ msgstr ""
"passe ou le compte de l'utilisateur, afin de supprimer le compte plus tard. "
"L'option <option>-f</option> permet de forcer la suppression du compte."
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
@@ -1982,7 +2032,7 @@ msgstr ""
"Vous devez vérifier vous-même qu'aucun fichier possédé par l'utilisateur ne "
"subsiste sur tous les systèmes de fichiers."
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
@@ -1990,7 +2040,7 @@ msgstr ""
"Vous ne pouvez supprimer aucun attribut NIS d'un client NIS. Cela doit être "
"effectué sur le serveur NIS."
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -2009,7 +2059,7 @@ msgstr ""
"avertissement sera affiché et le groupe ne sera pas supprimé. L'option "
"<option>-f</option> permet d'imposer la suppression du groupe."
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -2051,7 +2101,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -2096,11 +2146,11 @@ msgid "The options which apply to the <command>useradd</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>useradd</command> sont :"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2151,13 +2201,21 @@ msgstr ""
"<replaceable>RÉP_PERSO</replaceable>"
#: useradd.8.xml:178(para)
+#, fuzzy
+#| msgid ""
+#| "The new user will be created using <replaceable>HOME_DIR</replaceable> as "
+#| "the value for the user's login directory. The default is to append the "
+#| "<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</"
+#| "replaceable> and use that as the login directory name. The directory "
+#| "<replaceable>HOME_DIR</replaceable> does not have to exist but will not "
+#| "be created if it is missing."
msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
"Le nouvel utilisateur sera créé en utilisant <replaceable>RÉP_PERSO</"
"replaceable> comme valeur de répertoire de connexion de l'utilisateur. Le "
@@ -2167,16 +2225,16 @@ msgstr ""
"nécessaire que le répertoire <replaceable>RÉP_PERSO</replaceable> existe "
"mais il ne sera pas créé s'il n'existe pas."
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-D</option>, <option>--defaults</option>"
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr ""
"Consultez ci-dessous la sous-section « Modifier les valeurs par défaut »."
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
@@ -2187,7 +2245,7 @@ msgstr ""
"etc/default/useradd</filename> ou une chaîne vide (pas d'expiration) par "
"défaut."
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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 "
@@ -2198,7 +2256,7 @@ msgstr ""
"que le mot de passe a dépassé sa fin de validité, et une valeur de -1 "
"désactive cette fonctionnalité."
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
@@ -2208,7 +2266,7 @@ msgstr ""
"par défaut précisée par la variable <option>INACTIVE</option> dans "
"<filename>/etc/default/useradd</filename>, ou -1 par défaut."
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
@@ -2217,7 +2275,7 @@ msgstr ""
"l'utilisateur. Le nom du groupe doit exister. Un numéro de groupe doit se "
"référer à un groupe déjà existant."
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2241,7 +2299,7 @@ msgstr ""
"la valeur précisée par la variable <option>GROUP</option> dans <filename>/"
"etc/default/useradd</filename>, ou 100 par défaut."
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2255,7 +2313,7 @@ msgstr ""
"de l'option <option>-g</option>. Le comportement par défaut pour "
"l'utilisateur est de n'appartenir qu'au groupe initial."
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
@@ -2263,7 +2321,7 @@ msgstr ""
"<option>-k</option>, <option>--skel</option>&nbsp;"
"<replaceable>RÉP_SQUELETTE</replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
@@ -2273,7 +2331,7 @@ msgstr ""
"copiés dans le répertoire personnel de l'utilisateur, quand le répertoire "
"personnel est créé par <command>useradd</command>."
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
@@ -2281,7 +2339,7 @@ msgstr ""
"Cette option n'est valable que si l'option <option>-m</option> (ou <option>--"
"create-home</option>) est utilisée."
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
@@ -2291,11 +2349,11 @@ msgstr ""
"la variable <option>SKEL</option> dans <filename>/etc/default/useradd</"
"filename> ou, par défaut, <filename>/etc/skel</filename>."
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr "Si possible, les ACL et les attributs étendus seront copiés."
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2303,7 +2361,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>CLÉ</"
"replaceable>=<replaceable>VALEUR</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
msgid ""
"Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
"option>, <option>UID_MAX</option>, <option>UMASK</option>, "
@@ -2328,15 +2386,15 @@ msgstr ""
"replaceable>=<replaceable>100</replaceable> <option>-K</option>&nbsp;"
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--no-log-init</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr "N'ajoute pas l'utilisateur aux bases de données lastlog et faillog."
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
msgid ""
"By default, the user's entries in the lastlog and faillog databases are "
"reset to avoid reusing the entry from a previously deleted user."
@@ -2345,11 +2403,11 @@ msgstr ""
"et faillog sont remises à zéro pour éviter de réutiliser les entrées d'un "
"utilisateur précédemment supprimé."
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
@@ -2360,7 +2418,7 @@ msgstr ""
"être défini avec l'option <option>-k</option>) sera copié dans le répertoire "
"personnel."
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
@@ -2368,11 +2426,18 @@ msgstr ""
"Par défaut, si cette option n'est pas précisée et si <option>CREATE_HOME</"
"option> n'est pas activée, aucun répertoire personnel ne sera créé."
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-M</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
@@ -2383,11 +2448,11 @@ msgstr ""
"filename> (<option>CREATE_HOME</option>) est configurée à <replaceable>yes</"
"replaceable>."
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-N</option>, <option>--no-user-group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
@@ -2398,7 +2463,8 @@ msgstr ""
"par la variable <option>GROUP</option> dans <filename>/etc/default/useradd</"
"filename>."
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2410,18 +2476,18 @@ msgstr ""
"variable <option>USERGROUPS_ENAB</option> dans <filename>/etc/login.defs</"
"filename>."
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
"Permet de créer un compte d'utilisateur avec un identifiant (« UID ») "
"dupliqué (non unique)."
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr "Cette option n'est valable qu'avec l'option <option>-u</option>."
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
@@ -2431,15 +2497,15 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>. Le comportement par défaut est de désactiver le mot de passe."
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--system</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr "Créer un compte système."
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2455,7 +2521,7 @@ msgstr ""
"<option>UID_MIN</option>-<option>UID_MAX</option> (et leurs équivalents "
"<option>GID</option> pour la création des groupes)."
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
msgid ""
"Note that <command>useradd</command> will not create a home directory for "
"such a user, regardless of the default setting in <filename>/etc/login.defs</"
@@ -2469,7 +2535,7 @@ msgstr ""
"devez préciser l'option <option>-m</option> si vous voulez qu'un répertoire "
"personnel soit créé pour un compte système."
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2482,7 +2548,7 @@ msgstr ""
"variable <option>SHELL</option> dans <filename>/etc/default/useradd</"
"filename>, ou une chaîne vide par défaut."
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2495,7 +2561,7 @@ msgstr ""
"petite valeur d'identifiant à la fois supérieure ou égale à <option>UID_MIN</"
"option> et supérieure aux identifiants de tous les autres utilisateurs."
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
@@ -2503,11 +2569,11 @@ msgstr ""
"Voir aussi aussi l'option <option>-r</option> et la description de "
"<option>UID_MAX</option>."
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-U</option>, <option>--user-group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
@@ -2515,7 +2581,7 @@ msgstr ""
"Crée un groupe avec le même nom que celui de l'utilisateur, et ajoute "
"l'utilisateur à ce groupe."
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
@@ -2524,11 +2590,11 @@ msgstr ""
"comportement par défaut est de laisser ce champ vide. Le système "
"sélectionnera alors l'utilisateur SELinux par défaut."
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "Modifier les valeurs par défaut"
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2541,7 +2607,7 @@ msgstr ""
"<command>useradd</command> mettra à jour les valeurs par défaut des options "
"précisées. Les options valables sont :"
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2554,7 +2620,7 @@ msgstr ""
"<option>-d</option> n'est pas utilisée pendant la création d'un nouveau "
"compte."
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2562,11 +2628,11 @@ msgstr ""
"Cette option configure la variable <option>HOME</option> dans <filename>/etc/"
"default/useradd</filename>."
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "Date à laquelle le compte utilisateur sera désactivé."
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2574,7 +2640,7 @@ msgstr ""
"Cette option configure la variable <option>EXPIRE</option> dans <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2582,7 +2648,7 @@ msgstr ""
"Nombre de jours après la fin de validité d'un mot de passe avant que le "
"compte ne soit désactivé."
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2590,7 +2656,7 @@ msgstr ""
"Cette option configure la variable <option>INACTIVE</option> dans <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2605,7 +2671,7 @@ msgstr ""
"nom du groupe doit exister, et un identifiant de groupe numérique doit avoir "
"une entrée existante."
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2613,11 +2679,11 @@ msgstr ""
"Cette option configure la variable <option>GROUP</option> dans <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "Le nom de l'interpréteur de commandes du nouvel utilisateur."
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2625,11 +2691,11 @@ msgstr ""
"Cette option configure la variable <option>SHELL</option> dans <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "NOTES"
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2641,7 +2707,7 @@ msgstr ""
"de modèles indiqué dans <filename>/etc/default/useradd</filename> ou sur la "
"ligne de commande)."
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -2649,7 +2715,7 @@ msgstr ""
"Vous ne pouvez pas ajouter d'utilisateur à un groupe NIS ou LDAP. Cela doit "
"être effectué sur le serveur correspondant."
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
@@ -2659,7 +2725,7 @@ msgstr ""
"externe, telle que NIS ou LDAP, <command>useradd</command> refusera de créer "
"le compte d'utilisateur."
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -2671,7 +2737,7 @@ msgstr ""
"par un signe dollar. Soit, sous la forme d'une expression rationnelle : [a-"
"z_][a-z0-9_-]*[$]?"
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "Les noms d'utilisateur sont limités à 16 caractères."
@@ -2773,9 +2839,14 @@ msgstr "<option>PASS_MIN_DAYS</option> (nombre)"
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para)
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
"Nombre minimum de jours autorisé avant la modification d'un mot de passe. "
@@ -2949,69 +3020,91 @@ msgstr ""
"Il est également utilisé par <command>pam_umask</command> en tant que valeur "
"d'umask par défaut."
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Valeurs par défaut pour la création de comptes."
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"Trie les entrées de <filename>/etc/passwd</filename> et <filename>/etc/"
+"shadow</filename> par UID."
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "Répertoire contenant les fichiers par défaut."
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "paramètre non valable pour l'option"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID déjà utilisé (et pas d'option <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "le groupe spécifié n'existe pas"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "nom d'utilisateur déjà utilisé"
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "impossible de créer le répertoire personnel"
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
msgid "14"
msgstr "14"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr "Ne peut pas mettre à jour l'association à un utilisateur SELinux"
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -3019,7 +3112,7 @@ msgstr ""
"La commande <command>useradd</command> retourne les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -3073,17 +3166,17 @@ msgid "suauth"
msgstr "suauth"
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3276,7 +3369,7 @@ msgstr ""
" #\n"
" "
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "BOGUES"
@@ -3319,7 +3412,7 @@ msgid "Creation, 1989"
msgstr "Création, 1989"
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -4081,7 +4174,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -4178,9 +4271,13 @@ msgid "date of last password change"
msgstr "date du dernier changement de mot de passe"
#: shadow.5.xml:130(para)
+#, fuzzy
+#| msgid ""
+#| "The date of the last password change, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"La date du dernier changement de mot de passe, exprimée en nombre de jours "
"depuis le 1er janvier 1970."
@@ -4212,7 +4309,10 @@ msgstr ""
"attendre avant de pouvoir le changer de nouveau."
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+#, fuzzy
+#| msgid ""
+#| "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
"Un champ vide ou une valeur de 0 signifie qu'il n'y a pas d'âge minimum pour "
"le mot de passe."
@@ -4288,10 +4388,14 @@ msgstr ""
"L'utilisateur devra mettre à jour son mot de passe à la prochaine connexion."
#: shadow.5.xml:209(para)
+#, fuzzy
+#| msgid ""
+#| "After expiration of the password and this expiration period is elapsed, "
+#| "no login is possible using the current user's password. The user should "
+#| "contact her administrator."
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
"Après expiration du mot de passe suivie de la période d'expiration, plus "
"aucune connexion n'est possible en utilisant le mot de passe de "
@@ -4307,9 +4411,13 @@ msgid "account expiration date"
msgstr "date de fin de validité du compte"
#: shadow.5.xml:225(para)
+#, fuzzy
+#| msgid ""
+#| "The date of expiration of the account, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"La date d'expiration du compte, exprimé en nombre de jours depuis le "
"1er janvier 1970."
@@ -4354,7 +4462,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "Fichier de sauvegarde pour /etc/shadow."
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4657,19 +4765,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -4878,26 +4986,26 @@ msgstr ""
"manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr "Création, 1992"
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "Vérifier l'intégrité des fichiers de mots de passe"
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -4915,35 +5023,35 @@ msgstr ""
"confirmation de l'utilisateur sera demandée pour détruire les entrées mal "
"formatées ou ayant d'autres erreurs non récupérables."
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "Voici les vérifications effectuées :"
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "nombre correct de champs ;"
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr "unicité et validité des noms d'utilisateur ;"
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "validité des identifiants d'utilisateur et de groupe ;"
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "validité du groupe primaire ;"
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "validité du répertoire personnel ;"
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "validité de l'interpréteur de commandes initial (« login shell »)."
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
@@ -4952,11 +5060,11 @@ msgstr ""
"second paramètre de fichier est indiqué ou quand <filename>/etc/shadow</"
"filename> existe sur le système."
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr "Ces vérifications sont les suivantes :"
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
@@ -4964,24 +5072,24 @@ msgstr ""
"chaque entrée de passwd a une entrée correspondante dans shadow, et chaque "
"entrée shadow a une entrée passwd correspondante ;"
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr ""
"les mots de passe sont indiqués dans le fichier des mot de passe cachés ;"
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr "les entrées de shadow ont le bon nombre de champs ;"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr "les entrées de shadow sont uniques dans shadow ;"
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr "la date du dernier changement de mot de passe n'est pas dans le futur."
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -5001,7 +5109,7 @@ msgstr ""
"l'utilisateur est encouragé à utiliser <command>usermod</command> pour les "
"corriger."
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
@@ -5011,19 +5119,19 @@ msgstr ""
"peuvent pas modifier les entrées corrompues ou redondantes. <command>pwck</"
"command> doit être utilisé dans ce cas pour retirer ces entrées."
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
"Les options <option>-r</option> et <option>-s</option> ne peuvent pas être "
"combinées."
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>pwck</command> sont :"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
@@ -5031,19 +5139,19 @@ msgstr ""
"Ne signaler que les erreurs. Les avertissements qui ne nécessitent pas une "
"action de la part de l'utilisateur ne seront pas affichés."
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--read-only</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "Permet d'exécuter <command>pwck</command> dans le mode lecture seule."
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -5051,12 +5159,12 @@ msgstr ""
"Trie les entrées de <filename>/etc/passwd</filename> et <filename>/etc/"
"shadow</filename> par UID."
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr ""
"Cette option n'a aucun effet quand <option>USE_TCB</option> est activée."
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -5070,7 +5178,7 @@ msgstr ""
"L'utilisateur peut spécifier d'autres fichiers avec les paramètres "
"<replaceable>passwd</replaceable> et <replaceable>shadow</replaceable>."
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
msgid ""
"Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
"alternative <replaceable>shadow</replaceable> file. In future releases, this "
@@ -5081,27 +5189,41 @@ msgstr ""
"Dans les prochaines versions, ce paramètre pourra être remplacé par un "
"répertoire TCB alternatif."
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>CONSOLE</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>CONSOLE</option> (chaîne de caractères)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "une entrée de mot de passe ou plus est incorrecte"
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "impossible d'ouvrir les fichiers de mots de passe"
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "impossible de verrouiller les fichiers de mots de passe"
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "impossible de mettre à jour les fichiers des mots de passe"
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "impossible de trier les fichiers de mots de passe"
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -5109,7 +5231,7 @@ msgstr ""
"La commande <command>pwck</command> retourne les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -5341,16 +5463,23 @@ msgstr ""
"bloqué."
#: passwd.5.xml:138(para)
+#, fuzzy
+#| msgid ""
+#| "The comment field is used by various system utilities, such as "
+#| "<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
+#| "manvolnum></citerefentry>."
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
"Le champ de commentaire est utilisé par différents utilitaires système, tels "
"que <citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
"manvolnum></citerefentry>."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
@@ -5361,7 +5490,7 @@ msgstr ""
"information pour définir la valeur de la variable d'environnement <envar>"
"$HOME</envar>."
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -5376,19 +5505,19 @@ msgstr ""
"<filename>/bin/sh</filename> est utilisé par défaut."
# TBC: file ?
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr "un mot de passe chiffré optionnel"
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr "/etc/passwd-"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr "Fichier de sauvegarde de /etc/passwd."
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -5677,7 +5806,7 @@ msgstr ""
"<option>-n</option>, <option>--mindays</option>&nbsp;<replaceable>JOURS_MIN</"
"replaceable>"
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -5775,7 +5904,7 @@ msgstr ""
"valable. Après <replaceable>JOURS_MAX</replaceable>, le mot de passe devra "
"être modifié."
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -5828,30 +5957,38 @@ msgstr ""
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para)
#: gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
+#, fuzzy
+#| msgid ""
+#| "It can take one of these values: <replaceable>DES</replaceable> "
+#| "(default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
+#| "\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
+#| "replaceable></phrase>."
msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"Les valeurs suivantes sont acceptées : <replaceable>DES</replaceable> (par "
"défaut), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
"phrase>."
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
"Remarque : ce paramètre remplace la variable <option>MD5_CRYPT_ENAB</option>."
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -5991,8 +6128,13 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
+#, fuzzy
+#| msgid ""
+#| "If not specified, the libc will choose the default number of rounds "
+#| "(5000)."
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
"Si non précisée, la libc utilisera le nombre de rounds par défaut (5000)."
@@ -6030,7 +6172,7 @@ msgstr "/etc/pam.d/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr "Configuration de PAM pour <command>passwd</command>."
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "permission refusée"
@@ -6133,7 +6275,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "La commande <command>nologin</command> est apparue avec BSD 4.4."
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -6312,13 +6454,16 @@ msgstr ""
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"Si ce champ n'indique pas de répertoire existant, le répertoire indiqué est "
-"créé, avec comme propriétaire l'utilisateur en cours de création ou mis à "
-"jour et son groupe primaire."
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -6329,11 +6474,11 @@ msgstr ""
"répertoire personnel à la nouvelle place. Vous devrez effectuer cela vous-"
"même."
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr "pw_shell"
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
@@ -6341,7 +6486,7 @@ msgstr ""
"Ce champ définit l'interpréteur de commande de l'utilisateur. Aucune "
"vérification n'est effectuée sur ce champ."
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -6354,7 +6499,7 @@ msgstr ""
"l'écriture finale des bases de données), aucune modification ne sera "
"propagée dans les bases de données."
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -6367,7 +6512,7 @@ msgstr ""
"en utilisant PAM. Les échecs de mise à jour des mots de passe sont signalés, "
"mais n'empêchent pas les mises à jour des autres mots de passe."
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -6375,20 +6520,20 @@ msgstr ""
"Cette commande a été conçue pour les gros systèmes pour lesquels un grand "
"nombre de comptes sont mis à jour en même temps."
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>newusers</command> sont :"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "Utiliser la méthode précisée pour chiffrer les mots de passe."
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -6396,7 +6541,7 @@ msgstr ""
"Les méthodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre "
"libc prend en charge ces méthodes."
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -6412,15 +6557,15 @@ msgstr ""
"option>-<option>UID_MAX</option> (et leur <option>GID</option> correspondant "
"pour la création de groupes)."
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr "Utiliser le nombre de rounds précisé pour chiffrer les mots de passe."
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
@@ -6428,20 +6573,20 @@ msgstr ""
"La valeur 0 signifie que le système choisira la valeur par défaut du nombre "
"de rounds pour la méthode de chiffrement (5 000)."
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
"Une valeur minimale de 1 000 et une valeur maximale de 999 999 999 seront "
"imposées."
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
"Vous ne pouvez utiliser cette méthode qu'avec les méthodes de chiffrement "
"SHA256 ou SHA512."
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -6450,14 +6595,14 @@ msgstr ""
"SHA_CRYPT_MIN_ROUNDS et SHA_CRYPT_MAX_ROUNDS dans <filename>/etc/login.defs</"
"filename>."
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Le fichier d'entrée doit être correctement protégé puisqu'il contient des "
"mots de passe en clair."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
@@ -6465,15 +6610,15 @@ msgstr ""
"Vous devez vous assurer que les mots de passe et la méthode de chiffrement "
"respectent la politique de mot de passe du système."
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "Configuration de PAM pour <command>newusers</command>."
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
msgid ""
"<citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</"
"manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -6502,7 +6647,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr "se connecter avec un nouveau groupe"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "groupe"
@@ -6622,15 +6767,15 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "Liste des sessions de connexion en cours."
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr "configuration de la suite des mots de passe cachés « shadow password »"
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -6642,7 +6787,7 @@ msgstr ""
"est indispensable. Son absence n'empêchera pas le système de fonctionner, "
"mais aura probablement des conséquences indésirables."
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -6656,7 +6801,7 @@ msgstr ""
"Les commentaires commencent par un caractère « # », qui doit être le premier "
"caractère non blanc de la ligne."
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -6679,7 +6824,7 @@ msgstr ""
"de <replaceable>0x</replaceable>). La valeur maximale des paramètres "
"numériques normaux ou longs dépend de la machine."
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "Les paramètres de configuration suivants sont fournis :"
@@ -6812,6 +6957,31 @@ msgstr ""
"Si définie, les échecs de connexion seront enregistrés dans le fichier sous "
"le format utmp"
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENCRYPT_METHOD</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>ENCRYPT_METHOD</option> (chaîne de caractères)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"Consultez <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> pour plus d'informations sur le traitement de "
+"cette chaîne."
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
msgstr "<option>HUSHLOGIN_FILE</option> (chaîne de caractères)"
@@ -6940,7 +7110,7 @@ msgstr ""
"quelqu'un d'autre que le superutilisateur. Le contenu de ces fichiers doit "
"être un message indiquant pourquoi les connexions sont désactivées."
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -7031,11 +7201,11 @@ msgstr "<option>ULIMIT</option> (nombre)"
msgid "Default <command>ulimit</command> value."
msgstr "Valeur par défaut d'<command>ulimit</command>."
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr "RÉFÉRENCES CROISÉES"
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
@@ -7043,22 +7213,22 @@ msgstr ""
"Les références croisées ci-dessous montrent quels sont les paramètres "
"utilisés par les différents programmes de la suite shadow password."
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr "USE_TCB"
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
@@ -7066,12 +7236,12 @@ msgstr ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
@@ -7079,84 +7249,84 @@ msgstr ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB"
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHSH_AUTH LOGIN_STRING"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr "MAX_MEMBERS_PER_GROUP"
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
#, fuzzy
#| msgid ""
#| "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
@@ -7196,15 +7366,15 @@ msgstr ""
"TTYGROUP TTYPERM TTYTYPE_FILE <phrase condition=\"no_pam\">ULIMIT UMASK</"
"phrase> USERGROUPS_ENAB"
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr "newgrp / sg"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr "SYSLOG_SG_ENAB"
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
#| msgid ""
#| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -7225,7 +7395,7 @@ msgstr ""
"SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX "
"SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
@@ -7235,7 +7405,7 @@ msgstr ""
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
@@ -7243,7 +7413,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
@@ -7251,7 +7421,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -7267,15 +7437,15 @@ msgstr ""
"\"no_pam\">SU_WHEEL_ONLY</phrase> SYSLOG_SU_ENAB <phrase condition=\"no_pam"
"\">USERGROUPS_ENAB</phrase>"
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr "sulogin"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
#| msgid ""
#| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS "
@@ -7296,7 +7466,7 @@ msgstr ""
"SYS_UID_MIN UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP "
"TCB_SYMLINK USE_TCB</phrase>"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
@@ -7304,7 +7474,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid ""
#| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
@@ -7316,7 +7486,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
"\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -7337,7 +7507,7 @@ msgstr ""
"citerefentry>. Veuillez plutôt vous référer aux fichiers de configuration de "
"PAM correspondant."
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -8150,7 +8320,7 @@ msgstr ""
"précédemment."
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "NOTE"
@@ -8172,7 +8342,7 @@ msgstr ""
"UID élevés). Vous pouvez afficher sa taille réelle avec « <command>ls -s</"
"command> »."
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -8194,6 +8364,14 @@ msgstr ""
"et 800 dans base de données lastlog, le programme lastlog semblera bloqué "
"comme s'il traitait les entrées correspondant aux UID 171 à 799)."
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr "Création, 2005"
@@ -8327,11 +8505,11 @@ msgstr ""
"<citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>."
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "Vérifier l'intégrité des fichiers d'administration des groupes"
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -8348,11 +8526,11 @@ msgstr ""
"confirmation de l'utilisateur sera demandée pour détruire les entrées mal "
"formatées ou ayant d'autres erreurs non récupérables."
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "unicité et validité des noms de groupe ;"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
@@ -8360,7 +8538,7 @@ msgstr ""
"validité des identifiants de groupe <phrase condition=\"gshadow\"> "
"(seulement <filename>/etc/group</filename>)</phrase> ;"
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
@@ -8368,7 +8546,7 @@ msgstr ""
"validité de la liste de membres <phrase condition=\"gshadow\"> et "
"d'administrateurs</phrase> ;"
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
@@ -8378,7 +8556,7 @@ msgstr ""
"(respectivement <filename>/etc/group</filename> pour les vérifications de "
"<filename>gshadow</filename>)."
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -8397,7 +8575,7 @@ msgstr ""
"Toutes les autres erreurs ne sont que des avertissements et l'utilisateur "
"est encouragé à utiliser <command>groupmod</command> pour les corriger."
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -8412,12 +8590,12 @@ msgstr ""
"redondantes. <command>grpck</command> doit être utilisée dans ce cas pour "
"supprimer ces entrées."
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>grpck</command> sont :"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
@@ -8427,7 +8605,7 @@ msgstr ""
"signifie qu'à toutes les questions concernant des modifications il sera "
"répondu <emphasis>no</emphasis> sans l'intervention de l'utilisateur."
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
@@ -8435,7 +8613,20 @@ msgstr ""
"Trie les entrées de <filename>/etc/group</filename> <phrase condition="
"\"gshadow\">et <filename>/etc/gshadow</filename></phrase> par GID."
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-C</option>, <option>--clear</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-C</option>, <option>--clear</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid ""
"By default, <command>grpck</command> operates on <filename>/etc/group</"
"filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</"
@@ -8452,23 +8643,23 @@ msgstr ""
"<phrase condition=\"gshadow\"> et <emphasis remap=\"I\">shadow</emphasis></"
"phrase>."
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "une entrée de groupe ou plus est incorrecte"
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "impossible d'ouvrir les fichiers group"
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "impossible de verrouiller les fichiers group"
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "impossible de mettre à jour les fichiers group"
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8476,7 +8667,7 @@ msgstr ""
"La commande <command>grpck</command> renvoie les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -8579,7 +8770,25 @@ msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>groupmod</command> sont :"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
+msgid ""
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:100(para)
+msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
@@ -8587,7 +8796,7 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
-#: groupmod.8.xml:100(para)
+#: groupmod.8.xml:109(para)
msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
@@ -8595,7 +8804,7 @@ msgstr ""
"L'identifiant numérique du groupe <replaceable>GROUPE</replaceable> sera "
"modifié vers <emphasis remap=\"I\">GID</emphasis>."
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
@@ -8605,7 +8814,7 @@ msgstr ""
"positif. Cette valeur doit être unique, à moins que l'option <option>-o</"
"option> ne soit utilisée."
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
@@ -8613,7 +8822,7 @@ msgstr ""
"Les utilisateurs qui utilisent ce groupe comme groupe primaire seront mis à "
"jour pour garder le groupe comme groupe primaire."
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
@@ -8622,7 +8831,7 @@ msgstr ""
"l'ancien identifiant de groupe qui doivent continuer à appartenir au "
"<replaceable>GROUPE</replaceable>."
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
@@ -8632,7 +8841,7 @@ msgstr ""
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, ou "
"<option>SYS_GID_MAX</option> du fichier <filename>/etc/login.defs</filename>."
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -8640,7 +8849,7 @@ msgstr ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NOUVEAU_NOM_GROUPE</replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
@@ -8648,7 +8857,7 @@ msgstr ""
"Le nom du groupe sera modifié de <emphasis remap=\"I\">GROUPE</emphasis> "
"vers <emphasis remap=\"I\">NOUVEAU_NOM_GROUPE</emphasis>."
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
@@ -8657,73 +8866,87 @@ msgstr ""
"changer l'identifiant du groupe (<replaceable>GID</replaceable>) vers une "
"valeur déjà utilisée."
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr ""
+"Les administrateurs peuvent modifier le mot de passe ou les membres du "
+"groupe."
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "erreur de syntaxe"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "paramètre non valable pour l'option"
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "le groupe spécifié n'existe pas"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "nom de groupe déjà utilisé"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "le groupe spécifié n'existe pas"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "nom de groupe déjà utilisé"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "impossible de mettre à jour le fichier des groupes"
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
#, fuzzy
#| msgid "1"
msgid "13"
msgstr "1"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8731,7 +8954,7 @@ msgstr ""
"La commande <command>groupmod</command> retourne les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8892,7 +9115,7 @@ msgid "The superuser can specify which group membership list to modify."
msgstr ""
"Le superutilisateur peut préciser la liste des membres du groupe à modifier."
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -8995,7 +9218,13 @@ msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr ""
"Les options disponibles pour la commande <command>groupdel</command> sont :"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -9003,7 +9232,7 @@ msgstr ""
"Vous ne pouvez pas supprimer le groupe primaire d'un utilisateur existant. "
"Vous devez supprimer l'utilisateur auparavant."
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
@@ -9011,11 +9240,11 @@ msgstr ""
"Vous devriez vérifier vous-même qu'aucun fichier possédé par le groupe ne "
"subsiste sur tous les systèmes de fichiers."
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "impossible de supprimer le groupe primaire d'un utilisateur existant"
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9023,7 +9252,7 @@ msgstr ""
"La commande <command>groupdel</command> renvoie les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9160,7 +9389,7 @@ msgstr ""
"défini dans <filename>login.defs</filename>, au lieu de <option>GID_MIN</"
"option>-<option>GID_MAX</option>"
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -9172,11 +9401,11 @@ msgstr ""
"signe dollar. Soit, sous la forme d'une expression rationnelle : [a-z_][a-"
"z0-9_-]*[$]?"
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr "Les noms de groupe sont limités à &GROUP_NAME_MAX_LENGTH; caractères."
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -9184,7 +9413,7 @@ msgstr ""
"Vous ne pouvez pas ajouter d'utilisateur à un groupe NIS ou LDAP. Cela doit "
"être effectué sur le serveur correspondant."
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
@@ -9192,15 +9421,19 @@ msgstr ""
"Si le nom du groupe existe dans une base de données externe, telle que NIS "
"ou LDAP, <command>groupadd</command> refusera de créer le groupe."
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "GID déjà utilisé (et <option>-o</option> n'est pas utilisé)"
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID déjà utilisé (et pas d'option <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
msgstr "nom de groupe déjà utilisé"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9208,7 +9441,7 @@ msgstr ""
"La commande <command>groupadd</command> retourne les valeurs suivantes en "
"quittant : <placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9766,7 +9999,7 @@ msgstr ""
"Forcer le changement du mot de passe si l'utilisateur courant possède un mot "
"de passe qui a expiré."
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -9797,6 +10030,15 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "Les options applicables à la commande <command>chsh</command> sont :"
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"Nom du nouvel interpréteur de commandes initial (« login shell ») de "
+"l'utilisateur. Si ce champ est vide, le système sélectionnera l'interpréteur "
+"de commandes initial par défaut."
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -10294,17 +10536,24 @@ msgstr ""
"<replaceable>DERNIER_JOUR</replaceable>"
#: chage.1.xml:101(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
"Configurer le nombre du jour, à compter du 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 AAAA-MM-JJ (ou le format utilisé plus communément dans votre "
"région)."
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -10313,7 +10562,7 @@ msgstr ""
"<replaceable>DATE_FIN_VALIDITÉ</replaceable>"
# NOTE: s/date//
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -10328,7 +10577,21 @@ msgstr ""
"bloqué doit contacter l'administrateur système pour pouvoir utiliser à "
"nouveau le système."
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -10338,17 +10601,17 @@ msgstr ""
"<replaceable>DATE_FIN_VALIDITÉ</replaceable> aura pour effet de supprimer la "
"date de fin de validité."
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--sort</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -10356,7 +10619,7 @@ msgstr ""
"<option>-I</option>, <option>--inactive</option>&nbsp;"
"<replaceable>DURÉE_INACTIVITÉ</replaceable>"
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -10369,7 +10632,7 @@ msgstr ""
"d'inactivité. Un utilisateur dont le compte est bloqué doit contacter "
"l'administrateur système avant de pouvoir utiliser de nouveau le système."
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -10378,11 +10641,11 @@ msgstr ""
"<replaceable>DURÉE_INACTIVITÉ</replaceable> supprime la durée d'inactivité "
"pour un compte."
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "Afficher les informations sur l'âge des comptes."
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -10390,7 +10653,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>JOURS_MIN</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -10398,7 +10661,7 @@ msgstr ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>JOURS_MAX</"
"replaceable>"
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -10415,7 +10678,7 @@ msgstr ""
"l'option <option>-W</option> qui prévient l'utilisateur à l'avance par un "
"message d'alerte."
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -10423,7 +10686,7 @@ msgstr ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>DURÉE_AVERTISSEMENT</replaceable>"
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -10436,7 +10699,7 @@ msgstr ""
"lesquels un utilisateur sera prévenu que son mot de passe est sur le point "
"d'arriver en fin de validité."
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -10450,7 +10713,7 @@ msgstr ""
"ou laissez la ligne vide pour conserver la valeur actuelle. La valeur "
"actuelle est affichée entre crochets."
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -10458,7 +10721,23 @@ msgstr ""
"Le programme <command>chage</command> nécessite l'utilisation d'un fichier "
"de mots de passe cachés (« shadow password file »)."
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -10469,15 +10748,15 @@ msgstr ""
"non privilégié pour lui permettre de savoir quand son mot de passe ou son "
"compte arrivera en fin de validité."
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "impossible de trouver le fichier des mots de passe cachés"
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -10493,6 +10772,11 @@ msgstr ""
"<tblein@tblein.eu>, 2011-2012Debian French l10n team <debian-l10n-"
"french@lists.debian.org>, 2011-2012"
+#~ msgid "Move the content of the user's home directory to the new location."
+#~ msgstr ""
+#~ "Déplacer le contenu du répertoire personnel de l'utilisateur vers un "
+#~ "nouvel emplacement."
+
#~ msgid ""
#~ "Additional arguments may be provided after the username, in which case "
#~ "they are supplied to the user's login shell. In particular, an argument "
@@ -10546,3 +10830,18 @@ msgstr ""
#~ "alors il est considéré comme un mot de passe chiffré, comme indiqué dans "
#~ "<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
#~ "manvolnum></citerefentry>."
+
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "Si ce champ n'indique pas de répertoire existant, le répertoire indiqué "
+#~ "est créé, avec comme propriétaire l'utilisateur en cours de création ou "
+#~ "mis à jour et son groupe primaire."
+
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "GID déjà utilisé (et <option>-o</option> n'est pas utilisé)"
+
+#~ msgid "group name not unique"
+#~ msgstr "nom de groupe déjà utilisé"
diff --git a/man/po/it.po b/man/po/it.po
index 50fae462..92953868 100644
--- a/man/po/it.po
+++ b/man/po/it.po
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.5\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:38+0200\n"
"Last-Translator: Giuseppe Sacco <eppesuig@debian.org>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -35,13 +35,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -55,12 +55,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -72,11 +72,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -88,12 +88,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -106,14 +106,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -127,13 +127,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -145,12 +145,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -162,13 +162,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -178,18 +178,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr ""
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -198,10 +198,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -213,14 +213,14 @@ msgstr "Comandi per la gestione del sistema"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -247,9 +247,9 @@ msgstr ""
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -261,12 +261,12 @@ msgstr "opzioni"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -304,8 +304,8 @@ msgstr ""
# type: SH
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -332,24 +332,24 @@ msgid "Edit group database."
msgstr "Modifica del database «group»."
# type: TP
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
# type: Plain text
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Mostra un messaggio di aiuto ed esce."
@@ -363,7 +363,7 @@ msgid "Edit passwd database."
msgstr "Modifica del database «passwd»."
# type: IP
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -372,13 +372,13 @@ msgid "Quiet mode."
msgstr "Modalità silenziosa."
# type: IP
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -387,13 +387,13 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -421,26 +421,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "Indica di quale utente modificare il file «shadow tcb»."
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "CONFIGURAZIONE"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -489,124 +489,124 @@ msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr "Editor da utilizzare se <option>VISUAL</option> non è impostata."
# type: SH
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "FILE"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
# type: Plain text
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Informazioni sugli account di gruppo."
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
# type: Plain text
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Informazioni sicure sugli account di gruppo."
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
# type: Plain text
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Informazioni sugli account utente."
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
# type: Plain text
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Informazioni sicure sugli account utente."
# type: SH
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "VEDERE ANCHE"
@@ -640,12 +640,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -656,11 +656,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -672,14 +672,14 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -732,8 +732,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -778,17 +778,23 @@ msgstr "La nuova directory home dell'utente."
# type: Plain text
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"Se è data l'opzione <option>-m</option> il contenuto della directory home "
"corrente sarà spostato nella nuova directory home, che viene creata se non "
"esiste già."
# type: TP
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -797,7 +803,7 @@ msgstr ""
"<replaceable>DATA_SCADENZA</replaceable>"
# type: Plain text
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -805,7 +811,7 @@ msgstr ""
"La data in cui l'account dell'utente verrà disabilitato. La data è "
"specificata nel formato <emphasis remap=\"I\">AAAA-MM-GG</emphasis>."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
@@ -814,7 +820,7 @@ msgstr ""
"scadenza dell'account."
# type: Plain text
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -823,7 +829,7 @@ msgstr ""
"ancora viene creata una voce nel file <filename>/etc/shadow</filename>."
# type: TP
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -832,7 +838,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
@@ -841,7 +847,7 @@ msgstr ""
"venga disabilitato permanentemente."
# type: Plain text
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
@@ -850,7 +856,7 @@ msgstr ""
"valore -1 disabilita questa funzionalità."
# type: IP
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -859,7 +865,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
@@ -867,7 +873,7 @@ msgstr ""
"Il nome o numero del gruppo da assegnare alla connessione dell'utente. Il "
"gruppo deve esistere."
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
@@ -876,7 +882,7 @@ msgstr ""
"precedente gruppo primario dell'utente stesso verranno modificati perché "
"abbiano questo nuovo gruppo."
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
@@ -884,7 +890,15 @@ msgstr ""
"Il gruppo dei file che si trovano all'esterno della directory home "
"dell'utente andrà modificato manualmente."
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -895,7 +909,7 @@ msgstr ""
"\"I\">,GRUPPON</emphasis>]]]"
# type: Plain text
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -908,7 +922,7 @@ msgstr ""
"con l'opzione <option>-g</option>."
# type: Plain text
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -921,7 +935,7 @@ msgstr ""
"dei quali fa attualmente parte."
# type: IP
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -930,7 +944,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -944,11 +958,11 @@ msgstr ""
"nome di login."
# type: IP
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -958,7 +972,7 @@ msgstr ""
"password cifrata, disabilitandola. Non si può utilizzare questa opzione con "
"le opzioni <option>-p</option> e <option>-U</option>."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
@@ -969,17 +983,19 @@ msgstr ""
"<replaceable>1</replaceable>."
# type: IP
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--move-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-"Sposta il contenuto della directory home di un utente nella nuova posizione."
# type: IP
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
@@ -987,7 +1003,7 @@ msgstr ""
"Questa opzione è valida solo in combinazioone con l'opzione <option>-d</"
"option> (o <option>--home</option>)."
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
@@ -998,12 +1014,12 @@ msgstr ""
"manuali potrebbe comunque essere necessarie."
# type: TP
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
@@ -1012,7 +1028,7 @@ msgstr ""
"modificare l'ID utente in un valore non univoco."
# type: TP
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -1022,7 +1038,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -1031,7 +1047,7 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>."
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -1042,7 +1058,7 @@ msgstr ""
"perché la password (o password cifrata) sarà visibile agli utenti che "
"elencano i processi."
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
@@ -1052,7 +1068,7 @@ msgstr ""
"<filename>/etc/shadow</filename>. Questo potrebbe essere diverso dal "
"database delle password configurato per l'utilizzo da PAM."
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
@@ -1061,8 +1077,8 @@ msgstr ""
"sistema."
# type: TP
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -1074,8 +1090,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option>&nbsp;<replaceable>HOME_DIR</"
"replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1085,7 +1101,7 @@ msgid ""
msgstr ""
# type: TP
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1095,16 +1111,20 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
+#, fuzzy
+#| msgid ""
+#| "The name of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
"Il nome della nuova shell di login dell'utente. Lasciando questo campo vuoto "
"si fa in modo che il sistema selezioni la shell di login predefinita."
# type: TP
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1112,12 +1132,12 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr "Il nuovo valore numerico dell'ID utente."
# type: Plain text
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
@@ -1126,7 +1146,7 @@ msgstr ""
"<option>-o</option>. Il valore non può essere negativo."
# type: Plain text
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
@@ -1136,7 +1156,7 @@ msgstr ""
"che si trovi all'interno della directory home avrà l'ID utente cambiato "
"automaticamente."
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
@@ -1144,7 +1164,15 @@ msgstr ""
"La proprietà dei file esterni alla directory home dell'utente va corretta "
"manualmente."
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
@@ -1155,11 +1183,11 @@ msgstr ""
"<option>SYS_UID_MAX</option> dal file <filename>/etc/login.defs</filename>."
# type: IP
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1169,7 +1197,7 @@ msgstr ""
"password cifrata. Non si può usare questa opzione con l'opzione <option>-p</"
"option> o <option>-L</option>."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1182,7 +1210,7 @@ msgstr ""
"file <filename>/etc/default/useradd</filename>)."
# type: IP
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1194,17 +1222,17 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>INTERVALLO</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>UID_MIN</option>, "
@@ -1220,7 +1248,7 @@ msgstr ""
"<option>SYS_UID_MAX</option> dal file <filename>/etc/login.defs</filename>."
# type: IP
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1232,11 +1260,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>INTERVALLO</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1245,7 +1273,7 @@ msgid ""
msgstr ""
# type: IP
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1257,11 +1285,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>INTERVALLO</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>GID_MIN</option>, "
@@ -1278,7 +1306,7 @@ msgstr ""
"filename>."
# type: IP
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1290,13 +1318,13 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>INTERVALLO</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
#, fuzzy
#| msgid "Remove any SELinux user mapping for the user's login."
msgid "Remove a range of subordinate gids from the user's account."
msgstr "Rimuove tutti gli utenti SELinux assegnati al login utente."
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1305,7 +1333,7 @@ msgid ""
msgstr ""
# type: IP
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
@@ -1313,12 +1341,12 @@ msgstr ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>UTENTESE</replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr "Il nuovo utente SELinux per il login dell'utente."
# type: Plain text
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
@@ -1327,16 +1355,16 @@ msgstr ""
"l'utente SELinux da <replaceable>LOGIN</replaceable> (se presente)."
# type: SH
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "AVVISI/CAVEAT"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
#, fuzzy
#| msgid ""
#| "You must make certain that the named user is not executing any processes "
@@ -1357,7 +1385,7 @@ msgstr ""
"<command>usermod</command> effettua questo controllo in Linux, ma su altri "
"sistemi controlla solo che non sia registrato come collegato in utmp."
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
@@ -1365,7 +1393,7 @@ msgstr ""
"Si deve cambiare manualmente il proprietario di eventuali file "
"<command>crontab</command> e compiti <command>at</command>."
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
"Si devono apportare tutte le modifiche che riguardano NIS sul server NIS."
@@ -1673,51 +1701,51 @@ msgstr ""
"non verrà creata automaticamente come /etc/tcb/user, ma verrà determinato in "
"base all'UID dell'utente secondo questo algoritmo: <placeholder-1/>"
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr "Configurazione del pacchetto password shadow"
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
# type: Plain text
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1778,7 +1806,7 @@ msgstr ""
"manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1804,7 +1832,8 @@ msgid "The options which apply to the <command>userdel</command> command are:"
msgstr "Il comando <command>userdel</command> accetta le seguenti opzioni:"
# type: IP
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1981,104 +2010,126 @@ msgstr ""
"<command>useradd</command> creerà automaticamente un gruppo con lo stesso "
"nome dell'utente."
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"Ordina gli elementi di <filename>/etc/passwd</filename> e <filename>/etc/"
+"shadow</filename> per UID."
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
# type: SH
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "VALORI RESTITUITI"
# type: IP
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
# type: Plain text
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "successo"
# type: IP
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
# type: Plain text
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "impossibile aggiornare il file delle password"
# type: IP
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
# type: Plain text
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "sintassi del comando errata"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
# type: Plain text
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "l'utente specificato non esiste"
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "utente attualmente connesso al sistema"
# type: IP
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
# type: Plain text
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "non è possibile aggiornare il file group"
# type: IP
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
# type: Plain text
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "non è possibile cancellare la directory home"
# type: TP
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -2086,7 +2137,7 @@ msgstr ""
"Il comando <command>userdel</command> esce con i seguenti valori: "
"<placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -2101,7 +2152,7 @@ msgstr ""
"cancellazione dell'account."
# type: Plain text
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
@@ -2110,7 +2161,7 @@ msgstr ""
"rimanga nessun file di proprietà di questo utente."
# type: Plain text
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
@@ -2118,7 +2169,7 @@ msgstr ""
"Non è possibile rimuovere nessun attributo NIS su un client NIS. Questo deve "
"essere fatto sul server NIS."
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -2137,7 +2188,7 @@ msgstr ""
"L'opzione <option>-f</option> forza la cancellazione di questo gruppo."
# type: Plain text
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2197,7 +2248,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -2244,12 +2295,12 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr "Il comando <command>useradd</command> accetta le seguenti opzioni:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
# type: TP
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2301,13 +2352,21 @@ msgstr ""
# type: Plain text
#: useradd.8.xml:178(para)
+#, fuzzy
+#| msgid ""
+#| "The new user will be created using <replaceable>HOME_DIR</replaceable> as "
+#| "the value for the user's login directory. The default is to append the "
+#| "<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</"
+#| "replaceable> and use that as the login directory name. The directory "
+#| "<replaceable>HOME_DIR</replaceable> does not have to exist but will not "
+#| "be created if it is missing."
msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
"Il nuovo utente verrà creato usando <replaceable>HOME_DIR</replaceable> come "
"valore per la directory di login dell'utente. Il comportamento predefinito è "
@@ -2317,16 +2376,16 @@ msgstr ""
"replaceable> esista, ma se non ci fosse non verrà creata."
# type: IP
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-D</option>, <option>--defaults</option>"
# type: SS
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr "Vedere oltre, la sezione «Cambiare i valori predefiniti»."
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
@@ -2338,7 +2397,7 @@ msgstr ""
"scadenza)."
# type: Plain text
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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 "
@@ -2350,7 +2409,7 @@ msgstr ""
"funzionalità."
# type: Plain text
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
@@ -2362,7 +2421,7 @@ msgstr ""
"assente)."
# type: Plain text
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
@@ -2371,7 +2430,7 @@ msgstr ""
"del gruppo deve esistere. Un numero di gruppo deve riferirsi ad un gruppo "
"già esistente."
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2397,7 +2456,7 @@ msgstr ""
"specificato."
# type: Plain text
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2412,7 +2471,7 @@ msgstr ""
"l'utente appartenga solo al gruppo iniziale."
# type: IP
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
@@ -2420,7 +2479,7 @@ msgstr ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
@@ -2430,7 +2489,7 @@ msgstr ""
"directory home dell'utente quando viene creata da <command>useradd</command>."
# type: IP
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
@@ -2438,7 +2497,7 @@ msgstr ""
"Questa opzione è valida solo se anche l'opzione <option>-m</option> (o "
"<option>--create-home</option>) è stata specificata."
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
@@ -2448,11 +2507,11 @@ msgstr ""
"variabile <option>SKEL</option> nel file <filename>/etc/default/useradd</"
"filename> o, altrimenti, vale <filename>/etc/skel</filename>."
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr "Se possibile vengono copiate le ACL e gli attributi estesi."
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2460,7 +2519,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>."
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
#, fuzzy
#| msgid ""
#| "Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
@@ -2498,15 +2557,15 @@ msgstr ""
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
# type: IP
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--no-log-init</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr "Non aggiunge l'utente ai database «lastlog» e «faillog»."
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
#, fuzzy
#| msgid ""
#| "By default, the user's entries in the lastlog and faillog databases are "
@@ -2520,11 +2579,11 @@ msgstr ""
"precedenza."
# type: IP
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
@@ -2534,7 +2593,7 @@ msgstr ""
"directory contenuti nella directory «skeleton» (che può essere definita con "
"l'opzione <option>-k</option>) vengono copiati nella directory home."
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
@@ -2542,14 +2601,21 @@ msgstr ""
"Se questa opzione non viene utilizzata e se non è attiva la voce "
"<option>CREATE_HOME</option>, la directory non viene creata."
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
# type: IP
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
@@ -2560,11 +2626,11 @@ msgstr ""
"option>) sia impostata a <replaceable>yes</replaceable>."
# type: TP
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-N</option>, <option>--no-user-group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
@@ -2574,7 +2640,8 @@ msgstr ""
"gruppo specificato con l'opzione <option>-g</option> o tramite la variabile "
"<option>GROUP</option> nel file <filename>/etc/default/useradd</filename>."
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2586,19 +2653,19 @@ msgstr ""
"variabile <option>USERGROUPS_ENAB</option> nel file <filename>/etc/login."
"defs</filename>."
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr "Permette la creazione di un utente con un UID duplicato (non unico)."
# type: IP
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr ""
"Questa opzione è valida solo congiuntamente all'opzione <option>-u</option>."
# type: Plain text
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
@@ -2609,15 +2676,15 @@ msgstr ""
"predefinito è di disabilitare la password."
# type: IP
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--system</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr "Crea un account di sistema."
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2633,7 +2700,7 @@ msgstr ""
"<option>UID_MAX</option> (e le loro controparti <option>GID</option> per la "
"creazione dei gruppi)."
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
#, fuzzy
#| msgid ""
#| "Note that <command>useradd</command> will not create a home directory for "
@@ -2655,7 +2722,7 @@ msgstr ""
"account di sistema."
# type: Plain text
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2668,7 +2735,7 @@ msgstr ""
"<filename>/etc/default/useradd</filename>, oppure un testo vuoto."
# type: Plain text
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2682,7 +2749,7 @@ msgstr ""
"a qualunque altro utente."
# type: Plain text
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
@@ -2691,11 +2758,11 @@ msgstr ""
"<option>UID_MAX</option>"
# type: TP
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-U</option>, <option>--user-group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
@@ -2704,7 +2771,7 @@ msgstr ""
"stesso."
# type: Plain text
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
@@ -2713,12 +2780,12 @@ msgstr ""
"in modo che il sistema selezioni automaticamente l'utente SELinux."
# type: SS
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "Cambiare i valori predefiniti"
# type: Plain text
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2732,7 +2799,7 @@ msgstr ""
"valide sono:"
# type: Plain text
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2744,7 +2811,7 @@ msgstr ""
"per creare il nome della nuova directory home, a meno che non venga usata "
"l'opzione <option>-d</option> quando si crea un nuovo account."
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2753,11 +2820,11 @@ msgstr ""
"<filename>/etc/default/useradd</filename>."
# type: Plain text
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "La data in cui l'account dell'utente verrà disabilitato."
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2766,7 +2833,7 @@ msgstr ""
"<filename>/etc/default/useradd</filename>."
# type: Plain text
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2774,7 +2841,7 @@ msgstr ""
"Il numero di giorni dopo la scadenza di una password prima che l'account "
"venga disabilitato."
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2782,7 +2849,7 @@ msgstr ""
"Questa opzione imposta la variabile <option>INACTIVE</option> del file "
"<filename>/etc/default/useradd</filename>."
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
#, fuzzy
#| msgid ""
#| "The group name or ID for a new user's initial group (when the <option>-"
@@ -2803,7 +2870,7 @@ msgstr ""
"replaceable> nel file <filename>/etc/login.defs</filename>). Il gruppo "
"indicato deve esistere, anche se viene utilizzato l'ID numerico."
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2811,11 +2878,11 @@ msgstr ""
"Questa opzione imposta la variabile <option>GROUP</option> nel file "
"<filename>/etc/default/useradd</filename>."
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "Il nome della shell di login per il nuovo utente."
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2824,12 +2891,12 @@ msgstr ""
"<filename>/etc/default/useradd</filename>."
# type: SH
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "NOTE"
# type: Plain text
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2842,7 +2909,7 @@ msgstr ""
"filename> o nella riga di comando)."
# type: Plain text
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -2850,7 +2917,7 @@ msgstr ""
"Non è possibile aggiungere un utente ad un gruppo NIS o LDAP. Questo deve "
"essere fatto sul server corrispondente."
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
@@ -2859,7 +2926,7 @@ msgstr ""
"Analogamente, se il nome utente esiste già in un database esterno come NIS o "
"LDAP, <command>useradd</command> bloccherà la creazione dell'account."
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -2870,7 +2937,7 @@ msgstr ""
"Possono terminare con il simbolo del dollaro. In termini di espressioni "
"regolari: [a-z_][a-z0-9_-]*[$]?"
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "I nomi utente non possono eccedere i 32 caratteri di lunghezza."
@@ -2973,9 +3040,14 @@ msgstr "<option>PASS_MIN_DAYS</option> (numerico)"
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para)
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
"Il numero minimo di giorni tra due cambiamenti di password. Ogni tentativo "
@@ -3155,85 +3227,107 @@ msgstr ""
"predefinito."
# type: Plain text
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Valori predefiniti per la creazione dell'account."
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"Ordina gli elementi di <filename>/etc/passwd</filename> e <filename>/etc/"
+"shadow</filename> per UID."
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
# type: Plain text
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "Directory contenente i file predefiniti."
# type: IP
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "argomento non valido per l'opzione"
# type: IP
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID già in uso (e <option>-o</option> assente)"
# type: Plain text
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "il gruppo specificato non esiste"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "nome utente già in uso"
# type: Plain text
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "non è possibile creare la directory home"
# type: IP
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "1"
msgid "14"
msgstr "1"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
# type: TP
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "Il comando <command>useradd</command> restituisce i seguenti valori:"
# type: Plain text
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -3304,17 +3398,17 @@ msgstr "suauth"
# type: IP
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3523,7 +3617,7 @@ msgstr ""
" "
# type: SH
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "ERRORI"
@@ -3570,7 +3664,7 @@ msgid "Creation, 1989"
msgstr ""
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -4381,7 +4475,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -4487,9 +4581,13 @@ msgid "date of last password change"
msgstr "data dell'ultimo cambio di password"
#: shadow.5.xml:130(para)
+#, fuzzy
+#| msgid ""
+#| "The date of the last password change, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"Data dell'ultimo cambio di password espressa in numero di giorni a partire "
"dal 1 gennaio 1970."
@@ -4524,7 +4622,10 @@ msgstr ""
"prima di poter cambiare nuovamente la propria password."
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+#, fuzzy
+#| msgid ""
+#| "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
"Un campo vuoto o con valore 0 indica che non c'è una età minima della "
"password."
@@ -4603,10 +4704,14 @@ msgstr ""
"dovrebbe aggiornare la propria password al primo accesso)."
#: shadow.5.xml:209(para)
+#, fuzzy
+#| msgid ""
+#| "After expiration of the password and this expiration period is elapsed, "
+#| "no login is possible using the current user's password. The user should "
+#| "contact her administrator."
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
"Dopo la scadenza della password e di questo periodo, l'utente non potrà "
"accedere usando questa password, ma dovrà contattare l'amministratore."
@@ -4622,9 +4727,13 @@ msgid "account expiration date"
msgstr "data scadenza account"
#: shadow.5.xml:225(para)
+#, fuzzy
+#| msgid ""
+#| "The date of expiration of the account, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"La data di scadenza dell'account, espressa in numero di giorni dal 1 gennaio "
"1970."
@@ -4676,7 +4785,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "Copia di backup per /etc/shadow."
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -5001,19 +5110,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -5221,28 +5330,28 @@ msgstr ""
"manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
# type: Plain text
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "verifica l'integrità dei file delle password"
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
# type: Plain text
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -5262,41 +5371,41 @@ msgstr ""
"impossibili da correggere."
# type: Plain text
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "Vengono fatti controlli per verificare che ogni voce abbia:"
# type: Plain text
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "il corretto numero di campi"
# type: Plain text
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr "un nome utente univoco e valido"
# type: Plain text
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "identificatori validi dell'utente e del gruppo"
# type: Plain text
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "un gruppo primario valido"
# type: Plain text
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "una home directory valida"
# type: Plain text
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "una shell di login valida"
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
@@ -5305,11 +5414,11 @@ msgstr ""
"che si usa un secondo argomento o quanto esiste nel sistema il file "
"<filename>/etc/shadow</filename>."
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr "Le verifiche sono le seguenti:"
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
@@ -5317,26 +5426,26 @@ msgstr ""
"ogni elemento del file passwd deve avere un corrispondente elemento in "
"shadow, e viceversa"
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr "le password sono specificate nel file shadow"
# type: Plain text
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr "gli elementi di shadow hanno il corretto numero di campi"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr "gli elementi di shadow sono unici"
# type: Plain text
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr "le date di ultima modifica non sono nel futuro"
# type: Plain text
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -5356,7 +5465,7 @@ msgstr ""
"<command>usermod</command> per correggerli."
# type: Plain text
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
@@ -5367,7 +5476,7 @@ msgstr ""
"<command>pwck</command> per rimuovere la voce scorretta."
# type: Plain text
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
@@ -5375,11 +5484,11 @@ msgstr ""
"combinate."
# type: Plain text
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr "Il comando <command>pwck</command> accetta le seguenti opzioni:"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
@@ -5388,21 +5497,21 @@ msgstr ""
"dell'utente non sono mostrati."
# type: IP
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--read-only</option>"
# type: TP
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "Esegue il comando <command>pwck</command> in sola lettura."
# type: IP
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -5411,12 +5520,12 @@ msgstr ""
"shadow</filename> per UID."
# type: IP
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr ""
"Questa opzione non ha nessun effetto se <option>USE_TCB</option> è abilitato."
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -5431,7 +5540,7 @@ msgstr ""
"parametri <replaceable>passwd</replaceable> e <replaceable>shadow</"
"replaceable>."
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
#, fuzzy
#| msgid ""
#| "Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
@@ -5447,33 +5556,48 @@ msgstr ""
"versioni questo parametro potrebbe essere sostituito da una directory TCB "
"alternativa."
+# type: IP
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>CONSOLE</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>CONSOLE</option> (testo)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
# type: Plain text
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "una o più voci di password conengono errori"
# type: Plain text
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "impossibile aprire i file delle password"
# type: Plain text
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "impossibile fare il lock dei file delle password"
# type: Plain text
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "impossibile aggiornare i file delle password"
# type: Plain text
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "impossibile ordinare i file delle password"
# type: TP
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -5482,7 +5606,7 @@ msgstr ""
"<placeholder-1/>"
# type: Plain text
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -5725,16 +5849,23 @@ msgstr ""
# type: Plain text
#: passwd.5.xml:138(para)
+#, fuzzy
+#| msgid ""
+#| "The comment field is used by various system utilities, such as "
+#| "<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
+#| "manvolnum></citerefentry>."
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
"Il campo di commento è utilizzato da vari strumenti di sistema come ad "
"esempio <citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
"manvolnum></citerefentry>."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
@@ -5744,7 +5875,7 @@ msgstr ""
"Il programma <command>login</command> usa questa informazione per impostare "
"il valore della variabile d'ambiente <envar>$HOME</envar>."
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -5759,20 +5890,20 @@ msgstr ""
"questo campo è vuoto, il valore predefinito è <filename>/bin/sh</filename>."
# type: Plain text
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr "file opzionale delle password cifrate"
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr "/etc/passwd-"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr "Copia di backup di /etc/passwd."
# type: Plain text
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -6077,7 +6208,7 @@ msgstr ""
"<replaceable>MIN_GIORNI</replaceable>"
# type: Plain text
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -6179,7 +6310,7 @@ msgstr ""
"<replaceable>MAX_GIORNI</replaceable> viene richiesto di cambiare la "
"password."
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -6232,31 +6363,39 @@ msgstr ""
# type: IP
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para)
#: gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
+#, fuzzy
+#| msgid ""
+#| "It can take one of these values: <replaceable>DES</replaceable> "
+#| "(default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
+#| "\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
+#| "replaceable></phrase>."
msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"Può avere uno dei seguenti valori: <replaceable>DES</replaceable> "
"(predefinito), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
"\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
"phrase>."
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
"Nota: questo parametro ha la precedenza sulla variabile "
"<option>MD5_CRYPT_ENAB</option>."
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -6396,8 +6535,13 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
+#, fuzzy
+#| msgid ""
+#| "If not specified, the libc will choose the default number of rounds "
+#| "(5000)."
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr "Se non specificato sarà la libc a scegliere il numero di cicli (5000)."
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para)
@@ -6434,7 +6578,7 @@ msgstr "/etc/pam.d/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr "configurazione PAM per <command>passwd</command>."
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "permesso negato"
@@ -6541,7 +6685,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "Il comando <command>nologin</command> è apparso in BSD 4.4."
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -6731,13 +6875,16 @@ msgstr "Questo campo è utilizzato per impostare la directory home dell'utente."
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"Se questo campo non contiene il nome di una directory esistente la directory "
-"viene creata, assegnandone la proprietà all'utente che si sta definendo o "
-"aggiornando e al suo gruppo primario."
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -6747,11 +6894,11 @@ msgstr ""
"command> non sposta o copia il contenuto della vecchia directory nella "
"nuova. Questo va fatto manualmente."
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr "pw_shell"
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
@@ -6759,7 +6906,7 @@ msgstr ""
"Questo campo definisce la shell dell'utente. Su questo campo non viene fatto "
"nessun controllo."
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -6771,7 +6918,7 @@ msgstr ""
"gruppi. Se c'è un errore (eccetto sulla scrittura finale dei database) "
"nessuna modifica viene scritta sui database."
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -6785,7 +6932,7 @@ msgstr ""
"riportati, ma non interrompono la modifica delle altre password."
# type: Plain text
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -6794,20 +6941,20 @@ msgstr ""
"account sono aggiornati allo stesso tempo."
# type: TP
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "Il comando <command>newusers</command> accetta le seguenti opzioni:"
# type: IP
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "Utilizza il metodo specificato per cifrare le password."
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -6815,7 +6962,7 @@ msgstr ""
"I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria "
"libc lo consente."
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -6833,15 +6980,15 @@ msgstr ""
"gruppi)."
# type: IP
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr "Usa il numero specificato di cicli per cifrare la password."
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
@@ -6849,18 +6996,18 @@ msgstr ""
"Il valore 0 indica che il sistema utilizzerà il numero predefinito di cicli "
"per il metodo crypt (5000)."
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr "I valori minimo di 1.000 e massimo di 999.999.999 sono forzati."
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
"Si può utilizzare questa opzione solo con i metodi di cifratura SHA256 o "
"SHA512."
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -6869,13 +7016,13 @@ msgstr ""
"SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS nel file <filename>/etc/login."
"defs</filename>."
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Il file di input deve essere protetto poiché contiene password non cifrate."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
@@ -6883,16 +7030,16 @@ msgstr ""
"Ci si deve accertare che le password e il metodo di cifratura rispettino le "
"norme delle password del sistema."
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "Configurazione PAM per <command>newusers</command>."
# type: Plain text
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6932,7 +7079,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr "effettua l'accesso a un nuovo gruppo"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "gruppo"
@@ -7056,16 +7203,16 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "Elenco delle sessioni attive."
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
# type: Plain text
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr "configurazione del pacchetto password shadow"
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -7077,7 +7224,7 @@ msgstr ""
"file è obbligatorio. La sua assenza non bloccerà l'utilizzo del sistema, ma "
"probabilmente sarà causa di risultati non desiderati."
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -7091,7 +7238,7 @@ msgstr ""
"iniziano con con il simbolo \"#\" che deve essere il primo carattere diverso "
"da spazio della riga."
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -7114,7 +7261,7 @@ msgstr ""
"replaceable>). Il valore massimo dei numerici normali e lunghi è dipendente "
"dalla macchina."
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "Sono forniti i seguenti parametri di configurazione:"
@@ -7252,6 +7399,32 @@ msgstr ""
"Se impostato, gli accessi falliti verranno tracciati in questo file nel "
"formato utmp."
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENCRYPT_METHOD</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>ENCRYPT_METHOD</option> (testo)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+# type: Plain text
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"Fare riferimento a <citerefentry><refentrytitle>crypt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> per dettagli sul modo "
+"in cui questa stringa viene interpretata."
+
# type: IP
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
@@ -7389,7 +7562,7 @@ msgstr ""
"root. Il suo contenuto dovrebbe essere un messaggio che indica il motivo per "
"il quale l'accesso è impedito."
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -7486,11 +7659,11 @@ msgstr "<option>ULIMIT</option> (numerico)"
msgid "Default <command>ulimit</command> value."
msgstr "Valore <command>ulimit</command> predefinito."
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr "RIFERIMENTI INCROCIATI"
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
@@ -7498,22 +7671,22 @@ msgstr ""
"I seguenti riferimenti incrociati mostrano quali programmi del pacchetto "
"shadow password utilizzano quali parametri."
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr "USE_TCB"
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
@@ -7521,12 +7694,12 @@ msgstr ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
@@ -7534,84 +7707,84 @@ msgstr ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB"
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHSH_AUTH LOGIN_STRING"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr "MAX_MEMBERS_PER_GROUP"
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
#, fuzzy
#| msgid ""
#| "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
@@ -7651,15 +7824,15 @@ msgstr ""
"TTYGROUP TTYPERM TTYTYPE_FILE <phrase condition=\"no_pam\">ULIMIT UMASK</"
"phrase> USERGROUPS_ENAB"
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr "newgrp / sg"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr "SYSLOG_SG_ENAB"
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
#| msgid ""
#| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -7678,7 +7851,7 @@ msgstr ""
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase> SYS_GID_MAX "
"SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
@@ -7688,7 +7861,7 @@ msgstr ""
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
@@ -7696,7 +7869,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
@@ -7704,7 +7877,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -7720,15 +7893,15 @@ msgstr ""
"\"no_pam\">SU_WHEEL_ONLY</phrase> SYSLOG_SU_ENAB <phrase condition=\"no_pam"
"\">USERGROUPS_ENAB</phrase>"
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr "sulogin"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
#| msgid ""
#| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS "
@@ -7747,7 +7920,7 @@ msgstr ""
"UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK "
"USE_TCB</phrase>"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
@@ -7755,7 +7928,7 @@ msgstr ""
"\"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB "
"<phrase condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid ""
#| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
@@ -7768,7 +7941,7 @@ msgstr ""
"\">TCB_SYMLINKS USE_TCB</phrase>"
# type: Plain text
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -7788,7 +7961,7 @@ msgstr ""
"manvolnum></citerefentry>. Vedere la corrispondente configurazione di PAM."
# type: Plain text
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -8647,7 +8820,7 @@ msgstr ""
# type: SH
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "NOTA"
@@ -8668,7 +8841,7 @@ msgstr ""
"filename>). Si può vedere la dimensione effettiva con «<command>ls -s</"
"command>»."
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -8690,6 +8863,14 @@ msgstr ""
"tra 170 e 800, il programma sembrerà bloccato mentre esamina gli UID tra 171 "
"e 799)."
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -8831,12 +9012,12 @@ msgstr ""
"citerefentry>."
# type: Plain text
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "verifica l'integrità dei file dei gruppi"
# type: Plain text
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -8853,11 +9034,11 @@ msgstr ""
"appropriato o che presentano altri errori impossibili da correggere."
# type: Plain text
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "un nome univoco e valido di gruppo"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
@@ -8866,7 +9047,7 @@ msgstr ""
"<filename>/etc/group</filename>)</phrase>"
# type: Plain text
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
@@ -8875,7 +9056,7 @@ msgstr ""
"phrase>"
# type: Plain text
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
@@ -8886,7 +9067,7 @@ msgstr ""
"<filename>gshadow</filename>)"
# type: Plain text
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -8906,7 +9087,7 @@ msgstr ""
"<command>groupmod</command> per correggerli."
# type: Plain text
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -8922,11 +9103,11 @@ msgstr ""
"scorrette."
# type: Plain text
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "Il comando <command>grpck</command> accetta le seguenti opzioni:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
@@ -8936,7 +9117,7 @@ msgstr ""
"che sia risposto <emphasis>no</emphasis> automaticamente a tutte le domande "
"relative alle modifiche."
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
@@ -8944,7 +9125,21 @@ msgstr ""
"Ordina le voci in <filename>/etc/group</filename> <phrase condition=\"gshadow"
"\">e <filename>/etc/gshadow</filename> </phrase>per GID."
-#: grpck.8.xml:196(para)
+# type: IP
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
#, fuzzy
#| msgid ""
#| "By default, <command>grpck</command> operates on <filename>/etc/group</"
@@ -8970,27 +9165,27 @@ msgstr ""
"\">group</emphasis></phrase>."
# type: Plain text
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "una o più voci di gruppo contengono errori"
# type: Plain text
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "impossibile aprire i file dei gruppi"
# type: Plain text
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "impossibile fare il lock dei file dei gruppi"
# type: Plain text
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "impossibile aggiornare i file dei gruppi"
# type: TP
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8999,7 +9194,7 @@ msgstr ""
"<placeholder-1/>"
# type: Plain text
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -9109,7 +9304,26 @@ msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr "Il comando <command>groupmod</command> accetta le seguenti opzioni:"
# type: TP
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
+msgid ""
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"\"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:100(para)
+msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+# type: TP
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
@@ -9118,7 +9332,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: groupmod.8.xml:100(para)
+#: groupmod.8.xml:109(para)
msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
@@ -9127,7 +9341,7 @@ msgstr ""
"<replaceable>GID</replaceable>."
# type: Plain text
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
@@ -9137,7 +9351,7 @@ msgstr ""
"decimale non negativo. Deve essere univoco, a meno che non venga usata "
"l'opzione <option>-o</option>."
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
@@ -9145,7 +9359,7 @@ msgstr ""
"Gli utenti che hanno il gruppo come gruppo primario verranno aggiornati per "
"mantenere tale gruppo come loro gruppo primario."
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
@@ -9154,7 +9368,7 @@ msgstr ""
"appartenere a <replaceable>GRUPPO</replaceable>, devono essere aggiornati "
"manualmente."
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
@@ -9166,7 +9380,7 @@ msgstr ""
"filename>."
# type: TP
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -9175,7 +9389,7 @@ msgstr ""
"<replaceable>NUOVO_GRUPPO</replaceable>"
# type: Plain text
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
@@ -9183,7 +9397,7 @@ msgstr ""
"Il nome del gruppo verrà modificato da <replaceable>GRUPPO</replaceable> a "
"<replaceable>NUOVO_GRUPPO</replaceable>."
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
@@ -9191,85 +9405,97 @@ msgstr ""
"Quando è usato con l'opzione <option>-g</option>, permette di cambiare il "
"<replaceable>GID</replaceable> in un valore non univoco."
-#: groupmod.8.xml:259(para)
+# type: IP
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr "Gli amministratori possono cambiare la password o i membri del gruppo."
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
# type: Plain text
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "sintassi del comando errata"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "argomento non valido per l'opzione"
-# type: Plain text
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "il gruppo specificato non esiste"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "nome di gruppo già in uso"
# type: Plain text
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "il gruppo specificato non esiste"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "nome di gruppo già in uso"
# type: Plain text
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "non è possibile aggiornare il file group"
# type: IP
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
# type: IP
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
# type: TP
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "Il comando <command>groupmod</command> esce con i seguenti valori:"
# type: Plain text
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9437,7 +9663,7 @@ msgstr ""
"Il super utente può specificare quale elenco di membri del gruppo modificare."
# type: IP
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -9545,8 +9771,14 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "Il comando <command>groupdel</command> accetta le seguenti opzioni:"
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
# type: Plain text
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -9555,7 +9787,7 @@ msgstr ""
"rimuovere l'utente prima di rimuovere il gruppo."
# type: Plain text
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
@@ -9564,12 +9796,12 @@ msgstr ""
"rimanga alcun file avente questo ID di gruppo."
# type: Plain text
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "operazione impossibile perché il gruppo è primario per un utente"
# type: TP
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9578,7 +9810,7 @@ msgstr ""
"<placeholder-1/>"
# type: Plain text
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9719,7 +9951,7 @@ msgstr ""
"definito in <filename>login.defs</filename>, al posto di <option>GID_MIN</"
"option>-<option>GID_MAX</option>."
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -9730,14 +9962,14 @@ msgstr ""
"Possono terminare con il simbolo del dollaro. In termini di espressioni "
"regolari: [a-z_][a-z0-9_-]*[$]?"
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
"I nomi di gruppo possono essere al massimo di &GROUP_NAME_MAX_LENGTH; "
"caratteri."
# type: Plain text
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -9745,7 +9977,7 @@ msgstr ""
"Non è possibile aggiungere un gruppo NIS o LDAP. Questo deve essere fatto "
"sul server corrispondente."
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
@@ -9754,23 +9986,27 @@ msgstr ""
"LDAP, <command>groupadd</command> negherà la richiesta di creazione del "
"gruppo."
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "GID non univoco (quando <option>-o</option> non è usata)"
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID già in uso (e <option>-o</option> assente)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr "nome di gruppo non univoco"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "nome di gruppo già in uso"
# type: TP
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "Il comando <command>groupadd</command> restituisce i seguenti valori:"
# type: Plain text
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -10358,7 +10594,7 @@ msgstr ""
"Forza un cambio di password se l'utente corrente ha una password scaduta."
# type: Plain text
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -10392,6 +10628,15 @@ msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "Il comando <command>chsh</command> accetta le seguenti opzioni:"
# type: Plain text
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"Il nome della nuova shell di login dell'utente. Lasciando questo campo vuoto "
+"si fa in modo che il sistema selezioni la shell di login predefinita."
+
+# type: Plain text
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -10935,17 +11180,24 @@ msgstr ""
# type: Plain text
#: chage.1.xml:101(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
"Imposta la data dell'ultimo cambio della password, espressa come il numero "
"di giorni trascorsi dal 1 gennaio 1970. La data può anche essere specificata "
"nel formato AAAA-MM-GG o nella notazione comunemente usata nel proprio paese."
# type: TP
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -10954,7 +11206,7 @@ msgstr ""
"<replaceable>DATA_SCADENZA</replaceable>"
# type: Plain text
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -10968,7 +11220,21 @@ msgstr ""
"utente il cui account sia bloccato deve contattare l'amministratore di "
"sistema prima di poter accedere nuovamente al sistema."
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -10979,18 +11245,18 @@ msgstr ""
"dell'account."
# type: IP
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--sort</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
# type: TP
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -10999,7 +11265,7 @@ msgstr ""
"replaceable>"
# type: Plain text
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -11012,7 +11278,7 @@ msgstr ""
"l'account bloccato deve contattare l'amministratore prima di poter usare "
"ancora il sistema."
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -11022,12 +11288,12 @@ msgstr ""
"dall'account."
# type: Plain text
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "Visualizza le informazioni sulla scadenza dell'account."
# type: IP
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -11036,7 +11302,7 @@ msgstr ""
"<replaceable>MIN_GIORNI</replaceable>"
# type: IP
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -11045,7 +11311,7 @@ msgstr ""
"<replaceable>MAX_GIORNI</replaceable>"
# type: Plain text
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -11062,7 +11328,7 @@ msgstr ""
"fornisce un preavviso all'utente."
# type: IP
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -11071,7 +11337,7 @@ msgstr ""
"<replaceable>AVVISO_GIORNI</replaceable>"
# type: Plain text
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -11084,7 +11350,7 @@ msgstr ""
"avvertito dell'imminente scadenza."
# type: Plain text
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -11099,7 +11365,7 @@ msgstr ""
"mostrati tra parentesi quadre <emphasis>[ ]</emphasis>."
# type: Plain text
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -11107,8 +11373,24 @@ msgstr ""
"<command>chage</command> richiede che il file delle password shadow sia "
"disponibile."
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
# type: Plain text
-#: chage.1.xml:242(para)
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -11120,17 +11402,17 @@ msgstr ""
"dell'account."
# type: IP
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
# type: Plain text
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "non è possibile trovare il file delle password shadow"
# type: TP
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -11145,6 +11427,11 @@ msgstr ""
"Giuseppe Sacco <eppesuig@debian.org>, 2005, 2012.\n"
"Danilo Piazzalunga <danilopiazza@libero.it>, 2005."
+#~ msgid "Move the content of the user's home directory to the new location."
+#~ msgstr ""
+#~ "Sposta il contenuto della directory home di un utente nella nuova "
+#~ "posizione."
+
# type: Plain text
#~ msgid ""
#~ "Additional arguments may be provided after the username, in which case "
@@ -11198,6 +11485,21 @@ msgstr ""
#~ "come specificato da <citerefentry><refentrytitle>crypt</"
#~ "refentrytitle><manvolnum>3</manvolnum></citerefentry>."
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "Se questo campo non contiene il nome di una directory esistente la "
+#~ "directory viene creata, assegnandone la proprietà all'utente che si sta "
+#~ "definendo o aggiornando e al suo gruppo primario."
+
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "GID non univoco (quando <option>-o</option> non è usata)"
+
+#~ msgid "group name not unique"
+#~ msgstr "nome di gruppo non univoco"
+
#~ msgid "-M"
#~ msgstr "-M"
diff --git a/man/po/pl.po b/man/po/pl.po
index bc475a78..3de9390d 100644
--- a/man/po/pl.po
+++ b/man/po/pl.po
@@ -3,7 +3,7 @@
msgid ""
msgstr ""
"Project-Id-Version: man pages for shadow 4.0.16\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:38+0200\n"
"Last-Translator: Tomasz KÅ‚oczko <kloczek@pld.org.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -30,13 +30,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -50,12 +50,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -67,11 +67,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -83,12 +83,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -101,14 +101,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -122,13 +122,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -140,12 +140,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -157,13 +157,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -173,18 +173,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr ""
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -193,10 +193,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -208,14 +208,14 @@ msgstr "Polecenia ZarzÄ…dzania Systemem"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -241,9 +241,9 @@ msgstr "edytuj plik haseł, grup lub ich wersji chronionych"
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -254,12 +254,12 @@ msgstr "opcje"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -295,8 +295,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -321,23 +321,23 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "Edycja bazy grup."
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Wyświetlenie komunikatu pomocy i zakończenie działania."
@@ -349,7 +349,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "Edycja bazy passwd."
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -357,13 +357,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "Cichy tryb pracy."
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HOME_DIR</"
@@ -375,13 +375,13 @@ msgstr ""
"<option>-d</option>, <option>--home</option>&nbsp;<replaceable>KAT_DOMOWY</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
#, fuzzy
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
@@ -409,26 +409,26 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr ""
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr ""
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -474,119 +474,119 @@ msgstr ""
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr ""
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "PLIKI"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Informacje o grupach użytkowników."
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Informacje chronione o grupach użytkowników."
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Informacja o kontach użytkowników."
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Informacje chronione o użytkownikach."
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "ZOBACZ TAKŻE"
@@ -631,12 +631,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -647,11 +647,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -663,14 +663,14 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -719,8 +719,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -767,13 +767,14 @@ msgstr ""
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"Nowy katalog domowy użytkownika. Jeżeli podano opcję <option>-m</option>, to "
"zawartość aktualnego katalogu domowego zostanie przesunięta do nowego "
"katalogu. Nowy katalog domowy jest tworzony jeśli nie istnieje."
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -781,7 +782,7 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>DATA_WAŻN</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -789,19 +790,19 @@ msgstr ""
"Data, od której konto danego użytkownika zostanie wyłączone. Data podawana "
"jest w formacie <emphasis remap=\"I\">MM/DD/RR</emphasis>."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
msgstr ""
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
msgstr ""
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -809,13 +810,13 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;"
"<replaceable>NIEAKTYWNE</replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
msgstr ""
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
#, fuzzy
#| msgid ""
#| "The number of days after a password expires until the account is "
@@ -830,7 +831,7 @@ msgstr ""
"wyłącza konto natychmiast po przeterminowaniu hasła, zaś wartość -1 wyłącza "
"tę cechę. Domyślną wartością jest -1."
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -838,7 +839,7 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GRUPA</"
"replaceable>"
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
#, fuzzy
#| msgid ""
#| "The group name or number of the user's new initial login group. The group "
@@ -852,19 +853,27 @@ msgstr ""
"istnieć. Numer grupy musi odnosić się do już istniejącej grupy. Domyślnym "
"numerem grupy jest 1."
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
msgstr ""
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
msgstr ""
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -874,7 +883,7 @@ msgstr ""
"replaceable>[<emphasis remap=\"I\">,GRUPA2,...</emphasis>[<emphasis remap=\"I"
"\">,GRUPAN</emphasis>]]]"
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
#, fuzzy
msgid ""
"A list of supplementary groups which the user is also a member of. Each "
@@ -888,7 +897,7 @@ msgstr ""
"opcji <option>-g</option>. Jeżeli użytkownik jest obecnie członkiem grupy, "
"której nie podano na liście, to zostanie z niej usunięty."
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
#, fuzzy
msgid ""
"If the user is currently a member of a group which is not listed, the user "
@@ -902,7 +911,7 @@ msgstr ""
"opcji <option>-g</option>. Jeżeli użytkownik jest obecnie członkiem grupy, "
"której nie podano na liście, to zostanie z niej usunięty."
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -910,7 +919,7 @@ msgstr ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NOWY_LOGIN</"
"replaceable>"
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
#, fuzzy
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
@@ -924,11 +933,11 @@ msgstr ""
"nazwa katalogu domowego użytkownika, tak by odzwierciedlała nową nazwę "
"użytkownika."
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -938,24 +947,27 @@ msgstr ""
"zakodowanego hasła. Opcji tej nie można używać z opcjami <option>-p</option> "
"or <option>-U</option>."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
"<replaceable>1</replaceable>."
msgstr ""
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
@@ -963,25 +975,25 @@ msgid ""
"<option>--home</option>) option."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
"needed afterwards."
msgstr ""
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
msgstr ""
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -990,13 +1002,13 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>HASÅO</"
"replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
msgstr ""
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -1004,21 +1016,21 @@ msgid ""
"listing the processes."
msgstr ""
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
"password database configured in your PAM configuration."
msgstr ""
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
msgstr ""
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -1030,8 +1042,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option>&nbsp;"
"<replaceable>KAT_DOMOWY</replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1040,7 +1052,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1049,15 +1061,19 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
+#, fuzzy
+#| msgid ""
+#| "The name of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
"Nazwa nowej powłoki (shell) użytkownika. Ustawienie tego pola na puste "
"powoduje, że system wybierze domyślną powłokę logowania."
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1065,41 +1081,49 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr ""
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
msgstr ""
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
"automatically."
msgstr ""
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
msgstr ""
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
"<option>SYS_UID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1109,7 +1133,7 @@ msgstr ""
"zakodowanego hasła. Opcji tej nie można używać z opcjami <option>-p</option> "
"lub <option>-L</option>."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1117,7 +1141,7 @@ msgid ""
"from <filename>/etc/default/useradd</filename>)."
msgstr ""
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1129,24 +1153,24 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
msgid ""
"No checks will be performed with regard to <option>SUB_UID_MIN</option>, "
"<option>SUB_UID_MAX</option>, or <option>SUB_UID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1158,11 +1182,11 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1170,7 +1194,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1182,18 +1206,18 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
msgid ""
"No checks will be performed with regard to <option>SUB_GID_MIN</option>, "
"<option>SUB_GID_MAX</option>, or <option>SUB_GID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1205,11 +1229,11 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
msgid "Remove a range of subordinate gids from the user's account."
msgstr ""
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1217,7 +1241,7 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
#, fuzzy
#| msgid ""
#| "<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1229,11 +1253,11 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr ""
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
#, fuzzy
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
@@ -1242,16 +1266,16 @@ msgstr ""
"Nazwa grupy zostanie zmieniona z <replaceable>GRUPA</replaceable> na nazwÄ™ "
"<replaceable>NOWA_GRUPA</replaceable>."
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "OSTRZEŻENIA"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
msgid ""
"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, the "
@@ -1260,13 +1284,13 @@ msgid ""
"uses utmp to check if the user is logged in."
msgstr ""
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
msgstr ""
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
@@ -1504,50 +1528,50 @@ msgid ""
"algorithm: <placeholder-1/>"
msgstr ""
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr "Konfiguracja pakietu shadow."
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1608,7 +1632,7 @@ msgstr ""
"manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1630,7 +1654,8 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr "Polecenie <command>userdel</command> posiada następujące opcje:"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1753,91 +1778,107 @@ msgid ""
"the user."
msgstr ""
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "KOD ZAKOŃCZENIA"
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "poprawne zakończenie działania programu"
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "nie można zaktualizować pliku z hasłami"
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "niepoprawna składnia polecenia"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr ""
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr ""
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "nie można zaktualizować pliku z grupami"
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr ""
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -1845,7 +1886,7 @@ msgstr ""
"Polecenie <command>userdel</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -1854,19 +1895,19 @@ msgid ""
"deletion of this account."
msgstr ""
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
msgstr ""
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
msgstr ""
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -1877,7 +1918,7 @@ msgid ""
"<option>-f</option> option can force the deletion of this group."
msgstr ""
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1937,7 +1978,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -1970,11 +2011,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr "Polecenie <command>useradd</command> posiada następujące opcje:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2017,29 +2058,29 @@ msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
#, fuzzy
#| msgid "<option>-d</option>, <option>--delete</option>"
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-d</option>, <option>--delete</option>"
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr ""
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>, or an empty string (no expiry) by default."
msgstr ""
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
#, fuzzy
#| msgid ""
#| "The number of days after a password expires until the account is "
@@ -2055,14 +2096,14 @@ msgstr ""
"wyłącza konto natychmiast po przeterminowaniu hasła, zaś wartość -1 wyłącza "
"tę cechę. Domyślną wartością jest -1."
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>, or -1 by default."
msgstr ""
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
#, fuzzy
#| msgid ""
#| "The group name or number of the user's new initial login group. The group "
@@ -2076,7 +2117,7 @@ msgstr ""
"istnieć. Numer grupy musi odnosić się do już istniejącej grupy. Domyślnym "
"numerem grupy jest 1."
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2090,7 +2131,7 @@ msgid ""
"default."
msgstr ""
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2099,7 +2140,7 @@ msgid ""
"the initial group."
msgstr ""
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
#, fuzzy
#| msgid ""
#| "<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -2111,14 +2152,14 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
"<command>useradd</command>."
msgstr ""
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
@@ -2126,18 +2167,18 @@ msgid ""
"home</option>) option is specified."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
"or, by default, <filename>/etc/skel</filename>."
msgstr ""
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr ""
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2145,7 +2186,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
msgid ""
"Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
"option>, <option>UID_MAX</option>, <option>UMASK</option>, "
@@ -2159,66 +2200,74 @@ msgid ""
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
msgstr ""
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
#, fuzzy
#| msgid "<option>-l</option>, <option>--list</option>"
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--list</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr ""
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
msgid ""
"By default, the user's entries in the lastlog and faillog databases are "
"reset to avoid reusing the entry from a previously deleted user."
msgstr ""
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
"the <option>-k</option> option) will be copied to the home directory."
msgstr ""
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
msgstr ""
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
"to <replaceable>yes</replaceable>."
msgstr ""
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
#, fuzzy
#| msgid "<option>-g</option>, <option>--group</option>"
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-g</option>, <option>--group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
"<option>GROUP</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2226,18 +2275,18 @@ msgid ""
"filename>."
msgstr ""
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
#, fuzzy
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
@@ -2248,17 +2297,17 @@ msgstr ""
"jest zmieniana przy pomocy polecenia <citerefentry><refentrytitle>chfn</"
"refentrytitle><manvolnum>1</manvolnum></citerefentry>."
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
#, fuzzy
#| msgid "<option>-r</option>, <option>--reset</option>"
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr ""
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2268,7 +2317,7 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
msgid ""
"Note that <command>useradd</command> will not create a home directory for "
"such a user, regardless of the default setting in <filename>/etc/login.defs</"
@@ -2277,7 +2326,7 @@ msgid ""
"created."
msgstr ""
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2285,7 +2334,7 @@ msgid ""
"filename>, or an empty string by default."
msgstr ""
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2293,26 +2342,26 @@ msgid ""
"<option>UID_MIN</option> and greater than every other user."
msgstr ""
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
#, fuzzy
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
msgstr "<option>-</option>, <option>-l</option>, <option>--login</option>"
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
#, fuzzy
#| msgid "<option>-g</option>, <option>--group</option>"
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-g</option>, <option>--group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
msgstr ""
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
#, fuzzy
#| msgid ""
#| "The name of the user's new login shell. Setting this field to blank "
@@ -2324,11 +2373,11 @@ msgstr ""
"Nazwa nowej powłoki (shell) użytkownika. Ustawienie tego pola na puste "
"powoduje, że system wybierze domyślną powłokę logowania."
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr ""
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2336,7 +2385,7 @@ msgid ""
"default values for the specified options. Valid default-changing options are:"
msgstr ""
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2344,35 +2393,35 @@ msgid ""
"when creating a new account."
msgstr ""
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr ""
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
msgstr ""
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2381,27 +2430,27 @@ msgid ""
"have an existing entry."
msgstr ""
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr ""
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "UWAGI"
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2409,27 +2458,27 @@ msgid ""
"command line)."
msgstr ""
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
msgstr ""
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
"creation request."
msgstr ""
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
"dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr ""
@@ -2517,7 +2566,7 @@ msgstr "PASS_MIN_DAYS (numer)"
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
@@ -2658,71 +2707,87 @@ msgid ""
"It is also used by <command>pam_umask</command> as the default umask value."
msgstr ""
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr ""
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr ""
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "nieprawidłowy argument opcji"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID juz jest używany (i nie uzyto opcji <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr ""
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr ""
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr ""
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "1"
msgid "14"
msgstr "1"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -2730,7 +2795,7 @@ msgstr ""
"Polecenie <command>useradd</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2800,17 +2865,17 @@ msgid "suauth"
msgstr "suauth"
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -2948,7 +3013,7 @@ msgid ""
" "
msgstr ""
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "BÅĘDY"
@@ -2985,7 +3050,7 @@ msgid "Creation, 1989"
msgstr ""
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -3610,7 +3675,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr ""
@@ -3690,7 +3755,7 @@ msgstr ""
#: shadow.5.xml:130(para)
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:134(para)
@@ -3714,7 +3779,7 @@ msgid ""
msgstr ""
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
#: shadow.5.xml:160(emphasis)
@@ -3774,8 +3839,7 @@ msgstr ""
#: shadow.5.xml:209(para)
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
#: shadow.5.xml:214(para)
@@ -3792,7 +3856,7 @@ msgstr "Informacja o kontach użytkowników."
#: shadow.5.xml:225(para)
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:229(para)
@@ -3830,7 +3894,7 @@ msgstr "/etc/shadow"
msgid "Backup file for /etc/shadow."
msgstr ""
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4088,19 +4152,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -4258,26 +4322,26 @@ msgstr ""
"<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr ""
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -4288,67 +4352,67 @@ msgid ""
"which have other uncorrectable errors."
msgstr ""
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr ""
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr ""
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr ""
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr ""
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr ""
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr ""
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr ""
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
msgstr ""
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr ""
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
msgstr ""
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr ""
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr ""
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr ""
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr ""
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -4359,58 +4423,58 @@ msgid ""
"<command>usermod</command> command to correct the error."
msgstr ""
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
"should be used in those circumstances to remove the offending entry."
msgstr ""
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
#, fuzzy
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr "<option>-</option>, <option>-l</option>, <option>--login</option>"
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr "Polecenie <command>pwck</command> posiada następujące opcje:"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
msgstr ""
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
#, fuzzy
#| msgid "<option>-r</option>, <option>--remove</option>"
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--remove</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr ""
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--shadow</option>"
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
msgstr ""
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -4419,36 +4483,49 @@ msgid ""
"<replaceable>shadow</replaceable> parameters."
msgstr ""
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
msgid ""
"Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
"alternative <replaceable>shadow</replaceable> file. In future releases, this "
"parameter could be replaced by an alternate TCB directory."
msgstr ""
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "CHFN_RESTRICT (łańcuch)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr ""
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr ""
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr ""
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr ""
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
#, fuzzy
#| msgid "can't update password file"
msgid "can't sort password files"
msgstr "nie można zaktualizować pliku z hasłami"
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -4456,7 +4533,7 @@ msgstr ""
"Polecenie <command>pwck</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -4645,20 +4722,26 @@ msgid ""
msgstr ""
#: passwd.5.xml:138(para)
+#, fuzzy
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
+"Nowa wartość pola komentarza dla danego użytkownika w pliku haseł. Zwykle "
+"jest zmieniana przy pomocy polecenia <citerefentry><refentrytitle>chfn</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
"of the <envar>$HOME</envar> environmental variable."
msgstr ""
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -4667,21 +4750,21 @@ msgid ""
"defaults to the value <filename>/bin/sh</filename>."
msgstr ""
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr ""
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
#, fuzzy
#| msgid "/etc/passwd"
msgid "/etc/passwd-"
msgstr "/etc/passwd"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr ""
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -4926,7 +5009,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DNI</"
"replaceable>"
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -5004,7 +5087,7 @@ msgid ""
"<replaceable>MAX_DAYS</replaceable>, the password is required to be changed."
msgstr ""
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -5053,23 +5136,25 @@ msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KLUCZ</"
"replaceable>=<replaceable>WARTOŚĆ</replaceable>"
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -5181,7 +5266,8 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para)
@@ -5214,7 +5300,7 @@ msgstr "/etc/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr ""
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "brak dostępu"
@@ -5315,7 +5401,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr ""
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -5475,27 +5561,33 @@ msgstr ""
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
"location. This should be done manually."
msgstr ""
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr ""
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
msgstr ""
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -5503,7 +5595,7 @@ msgid ""
"no changes are committed to the databases."
msgstr ""
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -5511,35 +5603,35 @@ msgid ""
"password are reported, but will not stop the other password updates."
msgstr ""
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
msgstr ""
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
#, fuzzy
#| msgid ""
#| "The options which apply to the <command>usermod</command> command are:"
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "Polecenie <command>usermod</command> posiada następujące opcje:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
#, fuzzy
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-e</option>, <option>--encrypted</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
msgstr ""
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -5549,58 +5641,58 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
#, fuzzy
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
msgstr ""
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
msgstr ""
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
msgstr ""
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
#, fuzzy
#| msgid "/etc/passwd"
msgid "/etc/pam.d/newusers"
msgstr "/etc/passwd"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr ""
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -5639,7 +5731,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr ""
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "group"
@@ -5737,15 +5829,15 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "List bieżących sesji pracy."
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr ""
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -5753,7 +5845,7 @@ msgid ""
"undesirable operation."
msgstr ""
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -5762,7 +5854,7 @@ msgid ""
"the first non-white character of the line."
msgstr ""
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -5775,7 +5867,7 @@ msgid ""
"and long numeric parameters is machine-dependent."
msgstr ""
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr ""
@@ -5885,6 +5977,23 @@ msgid ""
"If defined, login failures will be logged in this file in a utmp format."
msgstr ""
+#: login.defs.5.xml:32(term)
+#, fuzzy
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "MAIL_DIR (łańcuch)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
#, fuzzy
msgid "<option>HUSHLOGIN_FILE</option> (string)"
@@ -5999,7 +6108,7 @@ msgid ""
"inhibited."
msgstr ""
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -6074,130 +6183,130 @@ msgstr "UID_MIN (numer)"
msgid "Default <command>ulimit</command> value."
msgstr ""
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr ""
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
msgstr ""
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr ""
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
msgstr ""
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr ""
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr ""
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
#, fuzzy
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHFN_AUTH CHFN_RESTRICT"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
#, fuzzy
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr ""
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE</"
@@ -6212,17 +6321,17 @@ msgid ""
"<phrase condition=\"no_pam\">ULIMIT UMASK</phrase> USERGROUPS_ENAB"
msgstr ""
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
#, fuzzy
#| msgid "newgrp"
msgid "newgrp / sg"
msgstr "newgrp"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr ""
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
msgid ""
"ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -6234,20 +6343,20 @@ msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
#, fuzzy
#| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
msgid ""
@@ -6255,7 +6364,7 @@ msgid ""
"phrase>"
msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -6265,16 +6374,16 @@ msgid ""
"\">USERGROUPS_ENAB</phrase>"
msgstr ""
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
#, fuzzy
msgid "sulogin"
msgstr "login"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr ""
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
msgid ""
"CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR "
@@ -6286,13 +6395,13 @@ msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
msgid ""
@@ -6300,7 +6409,7 @@ msgid ""
"\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6326,7 +6435,7 @@ msgstr ""
"citerefentry>, <citerefentry><refentrytitle>usermod</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry>."
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -6990,7 +7099,7 @@ msgid ""
msgstr ""
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "UWAGI"
@@ -7012,7 +7121,7 @@ msgstr ""
"wartościami UID). Mozesz wyświetlić rzeczywisty rozmiar tego pliku używając "
"polecenia \"<command>ls -s</command>\"."
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -7032,6 +7141,14 @@ msgstr ""
"pomiedzy 170, a 800, to program będzie sprawiał wrażenie zawieszonego w "
"trakcie przetwarzania wpisów dla użytkowanikół o UID 171-799)."
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -7161,11 +7278,11 @@ msgstr ""
"<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>."
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr ""
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -7175,30 +7292,30 @@ msgid ""
"other uncorrectable errors."
msgstr ""
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr ""
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
msgstr ""
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
msgstr ""
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
"filename> checks)"
msgstr ""
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -7209,7 +7326,7 @@ msgid ""
"command to correct the error."
msgstr ""
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -7218,26 +7335,39 @@ msgid ""
"those circumstances to remove the offending entries."
msgstr ""
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
#, fuzzy
#| msgid "The options which apply to the <command>pwck</command> command are:"
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "Polecenie <command>pwck</command> posiada następujące opcje:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
"without user intervention."
msgstr ""
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
msgstr ""
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-q</option>, <option>--quiet</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-q</option>, <option>--quiet</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid ""
"By default, <command>grpck</command> operates on <filename>/etc/group</"
"filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</"
@@ -7247,23 +7377,23 @@ msgid ""
"emphasis> parameters.</phrase>"
msgstr ""
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr ""
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr ""
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr ""
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr ""
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7271,7 +7401,7 @@ msgstr ""
"Polecenie <command>grpckl</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>id</refentrytitle><manvolnum>1</manvolnum></"
@@ -7373,15 +7503,33 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr "Polecenie <command>groupmod</command> posiada następujące opcje:"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
msgid ""
-"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
"replaceable>"
msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
#: groupmod.8.xml:100(para)
+msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:109(para)
#, fuzzy
#| msgid ""
#| "The name of the group will be changed from <replaceable>GROUP</"
@@ -7393,7 +7541,7 @@ msgstr ""
"Nazwa grupy zostanie zmieniona z <replaceable>GRUPA</replaceable> na nazwÄ™ "
"<replaceable>NOWA_GRUPA</replaceable>."
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
#, fuzzy
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
@@ -7407,26 +7555,26 @@ msgstr ""
"Pliki, dla których stary identyfikator jest identyfikatorem grupy pliku, "
"wymagają ręcznej zmiany ID grupy."
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
msgstr ""
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
msgstr ""
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
"<option>SYS_GID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -7434,7 +7582,7 @@ msgstr ""
"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>NOWA_GRUPA</"
"replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
@@ -7442,7 +7590,7 @@ msgstr ""
"Nazwa grupy zostanie zmieniona z <replaceable>GRUPA</replaceable> na nazwÄ™ "
"<replaceable>NOWA_GRUPA</replaceable>."
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
#, fuzzy
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
@@ -7451,67 +7599,79 @@ msgstr ""
"Użyte z opcją <option>-g</option> umożliwia zmiane <replaceable>GID</"
"replaceable> grupy na wartość nieunikalną."
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-q</option>, <option>--quiet</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-q</option>, <option>--quiet</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+msgid "A list of usernames to add as members of the group."
+msgstr ""
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "niepoprawna składnia polecenia"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "nieprawidłowy argument opcji"
-#: groupmod.8.xml:277(para)
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr ""
+#: groupmod.8.xml:302(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "nazwa grupy już jest w użyciu"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr ""
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "nazwa grupy już jest w użyciu"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "nie można zaktualizować pliku z grupami"
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7519,7 +7679,7 @@ msgstr ""
"Polecenie <command>groupmod</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -7695,7 +7855,7 @@ msgstr ""
msgid "The superuser can specify which group membership list to modify."
msgstr ""
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -7796,23 +7956,29 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "Polecenie <command>groupmod</command> posiada następujące opcje:"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
msgstr ""
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
msgstr ""
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr ""
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7820,7 +7986,7 @@ msgstr ""
"Polecenie <command>groupdel</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -7950,38 +8116,42 @@ msgid ""
"<option>GID_MAX</option>."
msgstr ""
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
"dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
msgstr ""
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
msgstr ""
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr ""
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID juz jest używany (i nie uzyto opcji <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr ""
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "nazwa grupy już jest w użyciu"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7989,7 +8159,7 @@ msgstr ""
"Polecenie <command>groupadd</command> kończy działanie z następującymi "
"wartościami kodów zakończenia: <placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8505,7 +8675,7 @@ msgstr "sprawdzenie ważności i wymuszenie zmiany hasła"
msgid "Force a password change if the current user has an expired password."
msgstr ""
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -8541,6 +8711,14 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "Polecenie <command>chsh</command> posiada następujące opcje:"
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"Nazwa nowej powłoki (shell) użytkownika. Ustawienie tego pola na puste "
+"powoduje, że system wybierze domyślną powłokę logowania."
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -9013,16 +9191,23 @@ msgstr ""
"replaceable>"
#: chage.1.xml:101(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
"Ustawia ilość dni od 1 stycznia 1970 kiedy hało było ostani raz zmieniane. "
"Data ważności może być takze prezekazana w formacie RRRR-MM-DD (lub formacie "
"używanym lokalnie)."
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -9030,7 +9215,7 @@ msgstr ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>DATA_WAŻN</replaceable>"
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -9045,7 +9230,21 @@ msgstr ""
"konto jest zablokowane musi skontaktować się z administratorem systemu zanim "
"będzie mógł z niego ponownie skorzystać."
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -9054,17 +9253,17 @@ msgstr ""
"Przekazanie <emphasis remap=\"I\">-1</emphasis> jako <replaceable>DATA_WAŻN</"
"replaceable> usuwa ograniczenie ważności konta użytkownika."
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--shadow</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -9072,7 +9271,7 @@ msgstr ""
"<option>-I</option>, <option>--inactive</option>&nbsp;"
"<replaceable>NIEAKTYWNE</replaceable>"
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -9085,7 +9284,7 @@ msgstr ""
"Użytkownik, którego konto jest zablokowane musi skontaktować się z "
"administratorem systemu zanim będzie mógł z niego ponownie skorzystać."
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -9094,11 +9293,11 @@ msgstr ""
"<replaceable>NIEAKTYWNE</replaceable> usuwa ograniczenie nieaktywniści konta "
"użytkownika."
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "Wyświetlenie informacji o terminach ważności konta i hasła."
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -9106,7 +9305,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DNI</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -9114,7 +9313,7 @@ msgstr ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DNI</"
"replaceable>"
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -9130,7 +9329,7 @@ msgstr ""
"wyprzedzeniem przez wykorzystanie opcji <option>-W</option>, ostrzegajÄ…cej "
"zawczasu użytkownika o zbliżającym się terminie zmiany."
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -9138,7 +9337,7 @@ msgstr ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>DNI_OSTRZ</replaceable>"
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -9149,7 +9348,7 @@ msgstr ""
"ważności hasła. Od tego dnia użytkownik będzie ostrzegany o nadchodzącym "
"terminie zmiany hasła."
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -9163,7 +9362,7 @@ msgstr ""
"wartości pustej pozostawia wartość bieżącą. Bieżąca wartość pola wyświetlana "
"jest w nawiasach <emphasis>[ ]</emphasis>."
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -9171,7 +9370,23 @@ msgstr ""
"Program <command>chage</command> wymaga do działania chronionego pliku haseł "
"użytkowników (shadow)."
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -9181,15 +9396,15 @@ msgstr ""
"l</option>. Może się nią posłużyć się użytkownik nieuprzywilejowany do "
"stwierdzenia, kiedy wygasa jego własne hasło lub konto."
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "nie można znaleźć pliku shadow"
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
diff --git a/man/po/ru.po b/man/po/ru.po
index 3c7df05d..6e139bd2 100644
--- a/man/po/ru.po
+++ b/man/po/ru.po
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: 1:4.0.18.2-1\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:39+0200\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -34,13 +34,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -54,12 +54,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -71,11 +71,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -87,12 +87,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -105,14 +105,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -126,13 +126,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -144,12 +144,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -161,13 +161,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -178,19 +178,19 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><command>
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
# type: Content of: <refentry><refsect1><para><citerefentry><manvolnum>
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -200,10 +200,10 @@ msgstr "8"
# type: Content of: <refentry><refmeta><refmiscinfo>
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -216,14 +216,14 @@ msgstr "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -252,9 +252,9 @@ msgstr ""
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -266,12 +266,12 @@ msgstr "параметры"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -307,8 +307,8 @@ msgstr ""
# type: Content of: <refentry><refsect1><title>
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -331,24 +331,24 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "Редактировать базу данных групп."
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Показать краткую Ñправку и закончить работу."
@@ -361,7 +361,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "Редактировать базу данных passwd."
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -370,13 +370,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "Ðе выводить Ñообщений при работе."
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -384,13 +384,13 @@ msgstr ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>КÐТ_CHROOT</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -417,26 +417,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "Указать какой пользовательÑкий теневой файл tcb редактировать."
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "ÐÐСТРОЙКÐ"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -487,128 +487,128 @@ msgstr ""
"option>."
# type: Content of: <refentry><refsect1><title>
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "ФÐЙЛЫ"
# type: Content of: <refentry><refsect1><para><filename>
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Ñодержит информацию о группах"
# type: Content of: <refentry><refsect1><para><filename>
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Ñодержит защищаемую информацию о группах"
# type: Content of: <refentry><refsect1><para><filename>
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Ñодержит информацию о пользователÑÑ…"
# type: Content of: <refentry><refsect1><para><filename>
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Ñодержит защищаемую информацию о пользователÑÑ…"
# type: Content of: <refentry><refsect1><title>
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "СМОТРИТЕ ТÐКЖЕ"
@@ -641,12 +641,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -657,11 +657,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -673,7 +673,7 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
@@ -681,7 +681,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -731,8 +731,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -774,16 +774,22 @@ msgstr "Домашний каталог нового пользователÑ."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"ЕÑли указан параметр <option>-m</option>, то Ñодержимое текущего домашнего "
"каталога будет перемещено в новый домашний каталог, который будет Ñоздан, "
"еÑли он ещё не ÑущеÑтвует."
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -792,7 +798,7 @@ msgstr ""
"<replaceable>ДÐТÐ_УСТÐРЕВÐÐИЯ</replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -800,7 +806,7 @@ msgstr ""
"Дата, когда ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð±ÑƒÐ´ÐµÑ‚ заблокирована. Дата задаётÑÑ Ð² "
"формате <emphasis remap=\"I\">ГГГГ-ММ-ДД</emphasis>."
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
@@ -808,7 +814,7 @@ msgstr ""
"ПуÑтое значение аргумента <replaceable>ДÐТÐ_УСТÐРЕВÐÐИЯ</replaceable> "
"отключает уÑтаревание учётной запиÑи."
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -816,7 +822,7 @@ msgstr ""
"Ð”Ð»Ñ Ñтого параметра требуетÑÑ Ñ„Ð°Ð¹Ð» <filename>/etc/shadow</filename>. При "
"отÑутÑтвии в <filename>/etc/shadow</filename> ÑоздаётÑÑ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ."
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -825,7 +831,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
@@ -834,7 +840,7 @@ msgstr ""
"ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ заблокировалаÑÑŒ навÑегда."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
@@ -842,7 +848,7 @@ msgstr ""
"ЕÑли указано значение 0, то ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ блокируетÑÑ Ñразу поÑле "
"уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ, а при значении -1 Ð´Ð°Ð½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ не иÑпользуетÑÑ."
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -851,7 +857,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
@@ -859,7 +865,7 @@ msgstr ""
"Ð˜Ð¼Ñ Ð¸Ð»Ð¸ чиÑловой идентификатор новой первичной группы пользователÑ. Группа Ñ "
"таким именем должна ÑущеÑтвовать."
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
@@ -867,14 +873,22 @@ msgstr ""
"Ð’Ñе файлы в домашнем каталоге пользователÑ, принадлежавшие предыдущей "
"первичной группе пользователÑ, будут принадлежать новой группе."
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
msgstr ""
"Группового владельца файлов вне домашнего каталога нужно изменить вручную."
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -885,7 +899,7 @@ msgstr ""
"\">,ГРУППÐN</emphasis>]]]"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -898,7 +912,7 @@ msgstr ""
"<option>-g</option>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -911,7 +925,7 @@ msgstr ""
"имеющемуÑÑ ÑпиÑку групп Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑетÑÑ ÑпиÑок указанных "
"дополнительных групп."
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -920,7 +934,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -932,12 +946,12 @@ msgstr ""
"чаÑтноÑти, вероÑтно, должно быть изменено Ð¸Ð¼Ñ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ³Ð¾ каталога и почтового "
"Ñщика, чтобы отразить изменение имени пользователÑ."
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -948,7 +962,7 @@ msgstr ""
"иÑпользуйте Ñтот параметр вмеÑте Ñ <option>-p</option> или <option>-U</"
"option>."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
@@ -958,15 +972,18 @@ msgstr ""
"паролю), также уÑтановите значение <replaceable>EXPIRE_DATE</replaceable> в "
"<replaceable>1</replaceable>."
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--move-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
-msgstr "ПеремеÑтить Ñодержимое домашнего каталога в новое меÑто."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
+msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
@@ -974,7 +991,7 @@ msgstr ""
"Этот параметр можно иÑпользовать только Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-d</option> "
"(или <option>--home</option>)."
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
@@ -984,13 +1001,13 @@ msgstr ""
"копирует права, ACL и раÑширенные атрибуты, но поÑле неё вÑÑ‘ равно могут "
"потребоватьÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ ручные дейÑтвиÑ."
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
@@ -998,7 +1015,7 @@ msgstr ""
"При иÑпользовании Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-u</option>, Ñтот параметр позволÑет "
"указывать не уникальный чиÑловой идентификатор пользователÑ."
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -1007,7 +1024,7 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>ПÐРОЛЬ</"
"replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -1016,7 +1033,7 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>."
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -1027,7 +1044,7 @@ msgstr ""
"рекомендуетÑÑ, так как пароль (или не шифрованный пароль) будет видим "
"другими пользователÑм в ÑпиÑке процеÑÑов."
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
@@ -1037,15 +1054,15 @@ msgstr ""
"<filename>/etc/shadow</filename>. Это может вызвать раÑÑ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ Ð±Ð°Ð·Ð¾Ð¹ "
"данных паролей, наÑтроенной в PAM."
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
msgstr ""
"Ð’Ñ‹ должны проверить, что пароль ÑоответÑтвует политике ÑиÑтемных паролей."
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -1057,8 +1074,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option> "
"<replaceable>ДОМÐШÐИЙ_КÐТÐЛОГ</replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1067,7 +1084,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1077,15 +1094,19 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
+#, fuzzy
+#| msgid ""
+#| "The name of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
"Ð˜Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ региÑтрационной оболочки пользователÑ. ЕÑли задать пуÑтое "
"значение, то будет иÑпользована региÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° по умолчанию."
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1093,12 +1114,12 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr "Ðовый чиÑловой идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (UID)."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
@@ -1107,7 +1128,7 @@ msgstr ""
"option>. Значение должно быть неотрицательным."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
@@ -1117,7 +1138,7 @@ msgstr ""
"раÑположены в его домашнем каталоге, идентификатор владельца файла будет "
"изменён автоматичеÑки."
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
@@ -1125,7 +1146,15 @@ msgstr ""
"Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², раÑположенных вне домашнего каталога, идентификатор нужно "
"изменÑÑ‚ÑŒ вручную."
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
@@ -1135,12 +1164,12 @@ msgstr ""
"<option>SYS_UID_MIN</option> или <option>SYS_UID_MAX</option> из <filename>/"
"etc/login.defs</filename> не производитÑÑ."
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1150,7 +1179,7 @@ msgstr ""
"начала шифрованного паролÑ. Ðе иÑпользуйте Ñтот параметр вмеÑте Ñ <option>-"
"p</option> или <option>-L</option>."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1162,7 +1191,7 @@ msgstr ""
"(например, в to <replaceable>99999</replaceable> или равным значению "
"<option>EXPIRE</option> из файла <filename>/etc/default/useradd</filename>)."
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1174,17 +1203,17 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>УЧÐТÐÐЯ "
"ЗÐПИСЬ</replaceable>|<replaceable>ДИÐПÐЗОÐ</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>UID_MIN</option>, "
@@ -1199,7 +1228,7 @@ msgstr ""
"<option>SYS_UID_MIN</option> или <option>SYS_UID_MAX</option> из <filename>/"
"etc/login.defs</filename> не производитÑÑ."
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1211,11 +1240,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>УЧÐТÐÐЯ "
"ЗÐПИСЬ</replaceable>|<replaceable>ДИÐПÐЗОÐ</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1223,7 +1252,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1235,11 +1264,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>УЧÐТÐÐЯ "
"ЗÐПИСЬ</replaceable>|<replaceable>ДИÐПÐЗОÐ</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>GID_MIN</option>, "
@@ -1254,7 +1283,7 @@ msgstr ""
"<option>SYS_GID_MIN</option> или <option>SYS_GID_MAX</option> из <filename>/"
"etc/login.defs</filename> не производитÑÑ."
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1266,7 +1295,7 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>УЧÐТÐÐЯ "
"ЗÐПИСЬ</replaceable>|<replaceable>ДИÐПÐЗОÐ</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
#, fuzzy
#| msgid "Remove any SELinux user mapping for the user's login."
msgid "Remove a range of subordinate gids from the user's account."
@@ -1274,7 +1303,7 @@ msgstr ""
"УдалÑет вÑе пользовательÑкие ÑопоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ SELinux Ð´Ð»Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи "
"пользователÑ."
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1282,7 +1311,7 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
@@ -1290,11 +1319,11 @@ msgstr ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr "Ðовый пользователь SELinux Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого входа."
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
@@ -1304,16 +1333,16 @@ msgstr ""
"удалÑетÑÑ (еÑли еÑÑ‚ÑŒ)."
# type: Content of: <refentry><refsect1><title>
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "ПРЕДОСТЕРЕЖЕÐИЯ"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
#, fuzzy
#| msgid ""
#| "You must make certain that the named user is not executing any processes "
@@ -1335,7 +1364,7 @@ msgstr ""
"других архитектурах проверÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ приÑутÑтвие Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² ÑиÑтеме "
"ÑоглаÑно данным utmp."
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
@@ -1343,7 +1372,7 @@ msgstr ""
"Ð’Ñ‹ должны вручную изменить владельца вÑех файлов <command>crontab</command> "
"или заданий <command>at</command>."
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr "Ð’Ñ‹ должны Ñделать вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ NIS на Ñервере NIS ÑамоÑтоÑтельно."
@@ -1650,53 +1679,53 @@ msgstr ""
"пользователÑ, ÑоглаÑно Ñледующему алгоритму: <placeholder-1/>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr "Ñодержит конфигурацию подÑиÑтемы теневых паролей"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1758,7 +1787,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><command>
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1783,7 +1812,8 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr "Параметры команды <command>userdel</command>:"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1960,106 +1990,128 @@ msgstr ""
"command> удалÑет пользовательÑкую группу, еÑли в ней нет больше членов, а "
"<command>useradd</command> по умолчанию Ñоздаёт группу Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ пользователÑ."
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"ОтÑортировать вÑе запиÑи в файлах <filename>/etc/passwd</filename> и "
+"<filename>/etc/shadow</filename> по чиÑловому идентификатору пользователÑ."
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
# type: Content of: <refentry><refsect1><title>
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "ВОЗВРÐЩÐЕМЫЕ ЗÐÐЧЕÐИЯ"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "уÑпешное выполнение"
# type: Content of: <refentry><refmeta><manvolnum>
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "не удалоÑÑŒ изменить файл паролей"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "ошибка в параметрах команды"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "указанный пользователь не ÑущеÑтвует"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "пользователь ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ в ÑиÑтеме"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "не удалоÑÑŒ изменить файл групп"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "не удалоÑÑŒ удалить домашний каталог"
# type: Content of: <refentry><refsect1><para>
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -2067,7 +2119,7 @@ msgstr ""
"Команда <command>userdel</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -2082,7 +2134,7 @@ msgstr ""
"<option>-f</option>, то ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ будет удалена неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð¸ на что."
# type: Content of: <refentry><refsect1><para>
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
@@ -2091,7 +2143,7 @@ msgstr ""
"оÑталоÑÑŒ файлов, принадлежащих Ñтому пользователю."
# type: Content of: <refentry><refsect1><para>
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
@@ -2099,7 +2151,7 @@ msgstr ""
"ÐÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ NIS атрибуты клиента NIS. Это необходимо Ñделать на NIS "
"Ñервере."
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -2118,7 +2170,7 @@ msgstr ""
"удалениÑ, еÑли такое ÑлучитÑÑ. Параметр <option>-f</option> поможет удалить "
"группу в любом Ñлучае."
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2179,7 +2231,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -2227,11 +2279,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr "Параметры команды <command>useradd</command>:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2283,13 +2335,21 @@ msgstr ""
"<replaceable>ДОМÐШÐИЙ_КÐТÐЛОГ</replaceable>"
#: useradd.8.xml:178(para)
+#, fuzzy
+#| msgid ""
+#| "The new user will be created using <replaceable>HOME_DIR</replaceable> as "
+#| "the value for the user's login directory. The default is to append the "
+#| "<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</"
+#| "replaceable> and use that as the login directory name. The directory "
+#| "<replaceable>HOME_DIR</replaceable> does not have to exist but will not "
+#| "be created if it is missing."
msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
"Ð”Ð»Ñ Ñоздаваемого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð±ÑƒÐ´ÐµÑ‚ иÑпользован каталог "
"<replaceable>ДОМÐШÐИЙ_КÐТÐЛОГ</replaceable> в качеÑтве начального каталога. "
@@ -2299,16 +2359,16 @@ msgstr ""
"<replaceable>ДОМÐШÐИЙ_КÐТÐЛОГ</replaceable> необÑзательно должен "
"ÑущеÑтвовать, но не будет Ñоздан, еÑли его нет."
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-D</option>, <option>--defaults</option>"
# type: Content of: <refentry><refsect1><refsect2><title>
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr "Смотрите далее в подразделе «Изменение значений по умолчанию»."
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
@@ -2320,7 +2380,7 @@ msgstr ""
"иначе пуÑтую Ñтроку (без уÑтареваниÑ, по умолчанию)."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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 "
@@ -2330,7 +2390,7 @@ msgstr ""
"уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ, а при значении -1 Ð´Ð°Ð½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ не иÑпользуетÑÑ."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
@@ -2342,7 +2402,7 @@ msgstr ""
"или -1 (по умолчанию)."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
@@ -2351,7 +2411,7 @@ msgstr ""
"именем должна ÑущеÑтвовать. Идентификатор группы должен указывать на уже "
"ÑущеÑтвующую группу."
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2376,7 +2436,7 @@ msgstr ""
"default/useradd</filename>, или 100 (по умолчанию)."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2390,7 +2450,7 @@ msgstr ""
"<option>-g</option>. По умолчанию пользователь входит только в начальную "
"группу."
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
@@ -2398,7 +2458,7 @@ msgstr ""
"<option>-k</option>, <option>--skel</option>&nbsp;"
"<replaceable>КÐТÐЛОГ_ШÐБЛОÐОВ</replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
@@ -2408,7 +2468,7 @@ msgstr ""
"домашний каталог Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¸ Ñоздании домашнего каталога командой "
"<command>useradd</command>."
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
@@ -2416,7 +2476,7 @@ msgstr ""
"Этот параметр можно иÑпользовать только Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-m</option> "
"(или <option>--create-home</option>)."
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
@@ -2426,11 +2486,11 @@ msgstr ""
"<option>SKEL</option> из файла <filename>/etc/default/useradd</filename>, "
"или равен <filename>/etc/skel</filename> (по умолчанию)."
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr "ЕÑли возможно, выполнÑетÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ ACL и раÑширенных атрибутов."
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2438,7 +2498,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>КЛЮЧ</"
"replaceable>=<replaceable>ЗÐÐЧЕÐИЕ</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
#, fuzzy
#| msgid ""
#| "Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
@@ -2474,15 +2534,15 @@ msgstr ""
"replaceable>=<replaceable>100</replaceable>&nbsp;<option>-K</option>&nbsp;"
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--no-log-init</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr "Ðе добавлÑÑ‚ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² базы данных lastlog и faillog."
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
#, fuzzy
#| msgid ""
#| "By default, the user's entries in the lastlog and faillog databases are "
@@ -2495,11 +2555,11 @@ msgstr ""
"ÑбраÑываютÑÑ Ð²Ð¾ избежание повторного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи, оÑтавшейÑÑ Ð¾Ñ‚ "
"ранее удалённого пользователÑ."
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
@@ -2510,7 +2570,7 @@ msgstr ""
"параметра the <option>-k</option> option), будут Ñкопированы в домашний "
"каталог."
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
@@ -2518,13 +2578,20 @@ msgstr ""
"По умолчанию, еÑли Ñтот параметр не указан и не задана Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ "
"<option>CREATE_HOME</option>, домашний каталог не ÑоздаётÑÑ."
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
@@ -2534,11 +2601,11 @@ msgstr ""
"переменной в файле <filename>/etc/login.defs</filename> "
"(<option>CREATE_HOME</option>) равно <replaceable>yes</replaceable>."
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-N</option>, <option>--no-user-group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
@@ -2549,7 +2616,8 @@ msgstr ""
"переменной <option>GROUP</option> из файла <filename>/etc/default/useradd</"
"filename>."
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2562,17 +2630,17 @@ msgstr ""
"filename>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr "Разрешить Ñоздание учётной запиÑи Ñ ÑƒÐ¶Ðµ имеющимÑÑ (не уникальным) UID."
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr ""
"Этот параметр можно иÑпользовать только Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-u</option>."
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
@@ -2582,15 +2650,15 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>. По умолчанию пароль отключён."
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--system</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr "Создать ÑиÑтемную учётную запиÑÑŒ."
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2606,7 +2674,7 @@ msgstr ""
"<option>UID_MAX</option> (Ñто же каÑаетÑÑ Ð¸ чаÑти Ñ <option>GID</option> при "
"Ñоздании групп)."
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
#, fuzzy
#| msgid ""
#| "Note that <command>useradd</command> will not create a home directory for "
@@ -2628,7 +2696,7 @@ msgstr ""
"option>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2641,7 +2709,7 @@ msgstr ""
"filename>, или по умолчанию иÑпользуетÑÑ Ð¿ÑƒÑÑ‚Ð°Ñ Ñтрока."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2654,18 +2722,18 @@ msgstr ""
"ID большее или равное <option>UID_MIN</option> и большее чем у оÑтальных "
"пользователей."
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
msgstr ""
"Смотрите также опиÑание <option>-r</option> и <option>UID_MAX</option>."
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-U</option>, <option>--user-group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
@@ -2674,7 +2742,7 @@ msgstr ""
"в Ñту группу."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
@@ -2684,12 +2752,12 @@ msgstr ""
"умолчанию."
# type: Content of: <refentry><refsect1><refsect2><title>
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "Изменение значений по умолчанию"
# type: Content of: <refentry><refsect1><refsect2><para>
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2702,7 +2770,7 @@ msgstr ""
"параметрами, то <command>useradd</command> обновлÑет Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию "
"Ñтих указанных параметров. ИзменÑемые параметры:"
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2714,7 +2782,7 @@ msgstr ""
"replaceable> Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ нового каталога, еÑли при Ñоздании новой "
"учётной запиÑи не указан параметр <option>-d</option>."
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2723,11 +2791,11 @@ msgstr ""
"etc/default/useradd</filename>."
# type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "Дата, когда ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð°."
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2736,7 +2804,7 @@ msgstr ""
"etc/default/useradd</filename>."
# type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2744,7 +2812,7 @@ msgstr ""
"ЧиÑло дней, которые должны пройти поÑле уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ, перед тем как "
"ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ будет заблокирована."
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2752,7 +2820,7 @@ msgstr ""
"Этот параметр изменÑет переменную <option>INACTIVE</option> в файле "
"<filename>/etc/default/useradd</filename>."
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2767,7 +2835,7 @@ msgstr ""
"ÑущеÑтвовать, а Ð´Ð»Ñ Ñ‡Ð¸Ñлового идентификатора группы должна быть "
"ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ."
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2775,11 +2843,11 @@ msgstr ""
"Этот параметр изменÑет переменную <option>GROUP</option> в файле <filename>/"
"etc/default/useradd</filename>."
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "Ð˜Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ региÑтрационной командной оболочки пользователÑ."
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2788,12 +2856,12 @@ msgstr ""
"etc/default/useradd</filename>."
# type: Content of: <refentry><refsect1><title>
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "ЗÐМЕЧÐÐИЯ"
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2806,7 +2874,7 @@ msgstr ""
"Ñтроке)."
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -2815,7 +2883,7 @@ msgstr ""
"ÑоответÑтвующем Ñервере."
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
@@ -2826,7 +2894,7 @@ msgstr ""
"запиÑÑŒ пользователÑ."
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -2838,7 +2906,7 @@ msgstr ""
"опиÑать регулÑрным выражением: [a-z_][a-z0-9_-]*[$]?"
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "Имена пользователей могут быть длиной не более 32 знаков."
@@ -2947,9 +3015,14 @@ msgstr "<option>PASS_MIN_DAYS</option> (чиÑло)"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para)
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
"МакÑимальное чиÑло дней между изменениÑми паролÑ. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ "
@@ -3131,84 +3204,106 @@ msgstr ""
"umask по умолчанию."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ñоздаваемой учётной запиÑи"
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"ОтÑортировать вÑе запиÑи в файлах <filename>/etc/passwd</filename> и "
+"<filename>/etc/shadow</filename> по чиÑловому идентификатору пользователÑ."
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "каталог, Ñодержащий файлы по умолчанию"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "недопуÑтимое значение параметра"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "такой UID уже ÑущеÑтвует (и не задан параметр <option>-o</option>)"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° не ÑущеÑтвует"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑƒÐ¶Ðµ ÑущеÑтвует"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "не удалоÑÑŒ Ñоздать домашний каталог"
# type: Content of: <refentry><refmeta><manvolnum>
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "1"
msgid "14"
msgstr "1"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
# type: Content of: <refentry><refsect1><para>
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -3216,7 +3311,7 @@ msgstr ""
"Команда <command>useradd</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -3288,18 +3383,18 @@ msgstr "suauth"
# type: Content of: <refentry><refsect1><para><citerefentry><manvolnum>
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
# type: Content of: <refentry><refmeta><refmiscinfo>
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3520,7 +3615,7 @@ msgstr ""
" "
# type: Content of: <refentry><refsect1><title>
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "ОШИБКИ РЕÐЛИЗÐЦИИ"
@@ -3566,7 +3661,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -4371,7 +4466,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><emphasis>
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -4476,9 +4571,13 @@ msgid "date of last password change"
msgstr "дата поÑледней Ñмены паролÑ"
#: shadow.5.xml:130(para)
+#, fuzzy
+#| msgid ""
+#| "The date of the last password change, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr "Дата поÑледней Ñмены Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² днÑÑ… Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года."
#: shadow.5.xml:134(para)
@@ -4511,7 +4610,10 @@ msgstr ""
"чтобы поменÑÑ‚ÑŒ пароль."
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+#, fuzzy
+#| msgid ""
+#| "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr "ПуÑтое значение Ð¿Ð¾Ð»Ñ Ð¸ 0 отключают минимальный Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ."
# type: Content of: <refentry><refsect1><refsect2><title>
@@ -4586,10 +4688,14 @@ msgstr ""
"должен обновить Ñвой пароль при Ñледующем входе)."
#: shadow.5.xml:209(para)
+#, fuzzy
+#| msgid ""
+#| "After expiration of the password and this expiration period is elapsed, "
+#| "no login is possible using the current user's password. The user should "
+#| "contact her administrator."
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
"ПоÑле уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸ иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтого периода уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ Ñ "
"текущим паролем ÑтановитÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ð¼. Пользователь должен обратитьÑÑ Ðº "
@@ -4606,9 +4712,13 @@ msgid "account expiration date"
msgstr "дата иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи"
#: shadow.5.xml:225(para)
+#, fuzzy
+#| msgid ""
+#| "The date of expiration of the account, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
"Дата иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи, указываетÑÑ Ð² днÑÑ… Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1 "
"ÑÐ½Ð²Ð°Ñ€Ñ 1970 года."
@@ -4660,7 +4770,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° /etc/shadow"
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4992,22 +5102,22 @@ msgstr ""
# type: Content of: <refentry><refsect1><para><command>
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
# type: Content of: <refentry><refsect1><para><command>
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
# type: Content of: <refentry><refsect1><para><command>
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
# type: Content of: <refentry><refsect1><para><command>
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -5212,30 +5322,30 @@ msgstr ""
"manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
# type: Content of: <refentry><refnamediv><refpurpose>
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "проверÑет целоÑтноÑÑ‚ÑŒ файлов паролей"
# type: Content of: <refentry><refsect1><para><emphasis>
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
# type: Content of: <refentry><refsect1><para>
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -5254,41 +5364,41 @@ msgstr ""
"запиÑей, имеющих неверный формат или воÑÑтановление которых невозможно."
# type: Content of: <refentry><refsect1><para>
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "ВыполнÑÑŽÑ‚ÑÑ Ñледующие проверки:"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "правильное количеÑтво полей"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr "уникальноÑÑ‚ÑŒ и корректноÑÑ‚ÑŒ имени пользователÑ"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "корректноÑÑ‚ÑŒ идентификатора Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ группы"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "корректноÑÑ‚ÑŒ первичной группы"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "корректноÑÑ‚ÑŒ домашнего каталога"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "корректноÑÑ‚ÑŒ региÑтрационной оболочки"
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
@@ -5297,11 +5407,11 @@ msgstr ""
"файловый параметр или когда в ÑиÑтеме ÑущеÑтвует файл <filename>/etc/shadow</"
"filename>."
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr "ВыполнÑÑŽÑ‚ÑÑ Ñледующие проверки:"
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
@@ -5309,26 +5419,26 @@ msgstr ""
"что ÐºÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ passwd имеет ÑоответÑтвующую запиÑÑŒ shadow и ÐºÐ°Ð¶Ð´Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ "
"shadow имеет ÑоответÑтвующую запиÑÑŒ passwd"
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr "пароли указаны в теневом файле"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr "запиÑи shadow Ñодержат корректное количеÑтво полей"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr "запиÑи shadow уникальны в shadow"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr "дата поÑледней Ñмены Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ находитÑÑ Ð² будущем"
# type: Content of: <refentry><refsect1><para>
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -5347,7 +5457,7 @@ msgstr ""
"пользователю предлагаетÑÑ Ð·Ð°Ð¿ÑƒÑтить команду <command>usermod</command>, "
"чтобы иÑправить ошибку."
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
@@ -5357,7 +5467,7 @@ msgstr ""
"могут изменÑÑ‚ÑŒ повреждённые или дублирующиеÑÑ Ð·Ð°Ð¿Ð¸Ñи. Как раз в Ñтом Ñлучае "
"и нужно иÑпользовать <command>pwck</command> Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ñпорченной запиÑи."
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
@@ -5365,12 +5475,12 @@ msgstr ""
"одновременно."
# type: Content of: <refentry><refsect1><para>
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr "Параметры команды <command>pwck</command>:"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
@@ -5378,19 +5488,19 @@ msgstr ""
"Сообщать только об ошибках. ПредупреждениÑ, которые не требуют от "
"Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ… дейÑтвий, показаны не будут."
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--read-only</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "ВыполнÑÑ‚ÑŒ команду <command>pwck</command> в режиме «только чтение»."
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -5398,11 +5508,11 @@ msgstr ""
"ОтÑортировать вÑе запиÑи в файлах <filename>/etc/passwd</filename> и "
"<filename>/etc/shadow</filename> по чиÑловому идентификатору пользователÑ."
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr "Этот параметр не дейÑтвует, еÑли определена <option>USE_TCB</option>."
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -5416,7 +5526,7 @@ msgstr ""
"Пользователь может указать другие файлы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ параметров "
"<replaceable>passwd</replaceable> и <replaceable>shadow</replaceable>."
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
#, fuzzy
#| msgid ""
#| "Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
@@ -5431,33 +5541,48 @@ msgstr ""
"указать другой файл <replaceable>shadow</replaceable>. Ð’ Ñледующих верÑиÑÑ… "
"Ñтим параметром можно будет задать другой каталог TCB."
+# type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>CONSOLE</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>CONSOLE</option> (Ñтрока)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "еÑÑ‚ÑŒ одна или более запиÑей Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимыми паролÑми"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "не удалоÑÑŒ открыть файл паролей"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "не удалоÑÑŒ заблокировать файл паролей"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "не удалоÑÑŒ изменить файл паролей"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "не удалоÑÑŒ отÑортировать файл паролей"
# type: Content of: <refentry><refsect1><para>
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -5465,7 +5590,7 @@ msgstr ""
"Команда <command>pwck</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -5712,16 +5837,23 @@ msgstr ""
"его блокировки."
#: passwd.5.xml:138(para)
+#, fuzzy
+#| msgid ""
+#| "The comment field is used by various system utilities, such as "
+#| "<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
+#| "manvolnum></citerefentry>."
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
"Поле ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð¸ÑпользуетÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ ÑиÑтемными утилитами, такими как "
"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
@@ -5731,7 +5863,7 @@ msgstr ""
"<command>login</command> иÑпользует Ñту информацию Ð´Ð»Ñ ÑƒÑтановки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
"переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ <envar>$HOME</envar>."
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -5746,20 +5878,20 @@ msgstr ""
"то иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ по умолчанию <filename>/bin/sh</filename>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr "необÑзательный файл Ñ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ паролÑми"
# type: Content of: <refentry><refsect1><para><filename>
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr "/etc/passwd-"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr "Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° /etc/passwd"
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -6062,7 +6194,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -6159,7 +6291,7 @@ msgstr ""
"УÑтановить макÑимальное количеÑтво дней, в течении которых пароль оÑтаётÑÑ "
"рабочим. ПоÑле <replaceable>ÐœÐКС_ДÐЕЙ</replaceable> пароль нужно изменить."
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -6210,31 +6342,39 @@ msgstr ""
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para)
#: gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
+#, fuzzy
+#| msgid ""
+#| "It can take one of these values: <replaceable>DES</replaceable> "
+#| "(default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
+#| "\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
+#| "replaceable></phrase>."
msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"Возможны Ñледующие значениÑ: <replaceable>DES</replaceable> (по умолчанию), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
"phrase>."
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
"Замечание: Ñтот параметр переопределÑет переменную <option>MD5_CRYPT_ENAB</"
"option>."
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -6372,8 +6512,13 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
+#, fuzzy
+#| msgid ""
+#| "If not specified, the libc will choose the default number of rounds "
+#| "(5000)."
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
"ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию "
"(5000)."
@@ -6413,7 +6558,7 @@ msgid "PAM configuration for <command>passwd</command>."
msgstr "наÑтройки PAM Ð´Ð»Ñ <command>passwd</command>"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "доÑтуп запрещён"
@@ -6529,7 +6674,7 @@ msgstr "Программа <command>nologin</command> впервые поÑвиÐ
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -6730,13 +6875,16 @@ msgstr "Это поле иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"ЕÑли Ñто поле указывает на неÑущеÑтвующий каталог, то указанный каталог "
-"ÑоздаётÑÑ, его владельцем назначаетÑÑ Ñоздаваемый или обновлÑемый "
-"пользователь и его Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°."
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -6746,11 +6894,11 @@ msgstr ""
"<command>newusers</command> не перемещает или копирует Ñодержимое Ñтарого "
"каталога в новое меÑто. Это нужно выполнить вручную."
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr "pw_shell"
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
@@ -6758,7 +6906,7 @@ msgstr ""
"Ð’ Ñтом поле задаётÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑÐºÐ°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ°. Ðикаких проверок Ð¿Ð¾Ð»Ñ Ð½Ðµ "
"делаетÑÑ."
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -6770,7 +6918,7 @@ msgstr ""
"пользователей или групп. ЕÑли проиÑходит ошибка (кроме ошибок при поÑледней "
"запиÑи в базы данных), то Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² базы не ÑохранÑÑŽÑ‚ÑÑ."
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -6783,7 +6931,7 @@ msgstr ""
"ошибок при обновлении об Ñтом ÑообщаетÑÑ, но обновление паролей продолжаетÑÑ."
# type: Content of: <refentry><refsect1><para>
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -6792,19 +6940,19 @@ msgstr ""
"один раз обновлÑетÑÑ Ð½ÐµÑколько учётных запиÑей."
# type: Content of: <refentry><refsect1><para>
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "Параметры команды <command>newusers</command>:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "ИÑпользовать указанный метод Ð´Ð»Ñ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹."
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -6812,7 +6960,7 @@ msgstr ""
"Возможные методы: DES, MD5, NONE и SHA256 или SHA512, еÑли Ñти методы "
"поддерживаетÑÑ libc."
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -6828,15 +6976,15 @@ msgstr ""
"<option>UID_MAX</option> (Ñто же каÑаетÑÑ Ð¸ чаÑти Ñ <option>GID</option> при "
"Ñоздании групп)."
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr "ИÑпользовать указанное количеÑтво раундов ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹."
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
@@ -6844,19 +6992,19 @@ msgstr ""
"Значение 0 означает, что ÑиÑтема выберет количеÑтво раундов по умолчанию Ð´Ð»Ñ "
"выбранного метода ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (5000)."
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
"Минимальное значение равно 1000, а макÑимальное значение равно 999,999,999."
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
"Ð’Ñ‹ можете иÑпользовать Ñтот параметр только при методе ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SHA256 или "
"SHA512."
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -6866,14 +7014,14 @@ msgstr ""
"filename>."
# type: Content of: <refentry><refsect1><para>
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Файл Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ð¼Ð¸ данными должен быть защищён, так как в нём ÑодержатÑÑ Ð½Ðµ "
"шифрованные пароли."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
@@ -6882,15 +7030,15 @@ msgstr ""
"ÑиÑтемных паролей."
# type: Content of: <refentry><refsect1><para><filename>
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "наÑтройки PAM Ð´Ð»Ñ <command>newusers</command>"
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6932,7 +7080,7 @@ msgid "log in to a new group"
msgstr "выполнÑет региÑтрацию Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² новой группе"
# type: Content of: <refentry><refsect1><para><emphasis>
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "группа"
@@ -7056,17 +7204,17 @@ msgid "List of current login sessions."
msgstr "Ñодержит ÑпиÑок работающих ÑеанÑов в ÑиÑтеме"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr "Ñодержит конфигурацию подÑиÑтемы теневых паролей"
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -7079,7 +7227,7 @@ msgstr ""
"приведёт к выполнению нежелаемых операций."
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -7094,7 +7242,7 @@ msgstr ""
"первым непробельным Ñимволом в Ñтроке."
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -7118,7 +7266,7 @@ msgstr ""
"параметра обычного и длинного чиÑла завиÑÑÑ‚ от архитектуры компьютера."
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "Возможны Ñледующие параметры наÑтройки:"
@@ -7258,6 +7406,31 @@ msgstr ""
"ЕÑли определена, то неудачные попытки входа будут протоколироватьÑÑ Ð² Ñтот "
"файл в формате utmp."
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENCRYPT_METHOD</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>ENCRYPT_METHOD</option> (Ñтрока)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"Подробней о пароле Ñмотрите в Ñправочной Ñтранице "
+"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
+"citerefentry>."
+
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
@@ -7396,7 +7569,7 @@ msgstr ""
"почему запрещён вход."
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -7492,12 +7665,12 @@ msgid "Default <command>ulimit</command> value."
msgstr "Значение <command>ulimit</command> по умолчанию."
# type: Content of: <refentry><refsect1><title>
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr "ПЕРЕКРÐСТÐЫЕ ССЫЛКИ"
# type: Content of: <refentry><refsect1><para>
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
@@ -7506,23 +7679,23 @@ msgstr ""
"параметрам из набора Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñ‚ÐµÐ½ÐµÐ²Ñ‹Ð¼Ð¸ паролÑми."
# type: Content of: <refentry><refsect1><para><command>
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr "USE_TCB"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
@@ -7531,12 +7704,12 @@ msgstr ""
"condition=\"no_pam\">LOGIN_STRING</phrase>"
# type: Content of: <refentry><refsect1><para><command>
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
@@ -7545,95 +7718,95 @@ msgstr ""
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
# type: Content of: <refentry><refsect1><para><command>
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB"
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHSH_AUTH LOGIN_STRING"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr "MAX_MEMBERS_PER_GROUP"
# type: Content of: <refentry><refsect1><para><command>
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
# type: Content of: <refentry><refsect1><para><filename>
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
#, fuzzy
#| msgid ""
#| "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
@@ -7674,16 +7847,16 @@ msgstr ""
"phrase> USERGROUPS_ENAB"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr "newgrp / sg"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr "SYSLOG_SG_ENAB"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
#| msgid ""
#| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -7702,7 +7875,7 @@ msgstr ""
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase> SYS_GID_MAX "
"SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
@@ -7712,7 +7885,7 @@ msgstr ""
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
@@ -7721,7 +7894,7 @@ msgstr ""
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
@@ -7729,7 +7902,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -7746,16 +7919,16 @@ msgstr ""
"\">USERGROUPS_ENAB</phrase>"
# type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle>
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr "sulogin"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
#| msgid ""
#| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS "
@@ -7774,7 +7947,7 @@ msgstr ""
"UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK "
"USE_TCB</phrase>"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
@@ -7782,7 +7955,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid ""
#| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
@@ -7794,7 +7967,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
"\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -7814,7 +7987,7 @@ msgstr ""
"citerefentry>. ÐаÑтройку данных программ Ñледует выполнÑÑ‚ÑŒ в ÑоответÑтвующих "
"файлах наÑтройки PAM."
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -8695,7 +8868,7 @@ msgstr ""
# type: Content of: <refentry><refsect1><title>
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "ЗÐМЕЧÐÐИЕ"
@@ -8718,7 +8891,7 @@ msgstr ""
"значений). Чтобы увидеть реальный размер введите «<command>ls -s</command>»."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename>
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -8740,6 +8913,14 @@ msgstr ""
"еÑли в базе данных lastlog нет пользователей Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ñ 170 по "
"800, то во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ UID Ñ 171 по 799 программа кажетÑÑ Ð¿Ð¾Ð²Ð¸Ñшей)."
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -8879,12 +9060,12 @@ msgstr ""
"citerefentry>."
# type: Content of: <refentry><refnamediv><refpurpose>
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "проверÑет корректноÑÑ‚ÑŒ файлов групп"
# type: Content of: <refentry><refsect1><para>
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -8900,11 +9081,11 @@ msgstr ""
"запиÑей, имеющих неверный формат или воÑÑтановление которых невозможно."
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "уникальноÑÑ‚ÑŒ и корректноÑÑ‚ÑŒ имени группы"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
@@ -8913,7 +9094,7 @@ msgstr ""
"Ð´Ð»Ñ <filename>/etc/group</filename>)</phrase>"
# type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
@@ -8921,7 +9102,7 @@ msgstr ""
"корректноÑÑ‚ÑŒ ÑпиÑка членов <phrase condition=\"gshadow\">и админиÑтраторов</"
"phrase>"
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
@@ -8931,7 +9112,7 @@ msgstr ""
"etc/group</filename> при проверках <filename>gshadow</filename>)"
# type: Content of: <refentry><refsect1><para>
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -8950,7 +9131,7 @@ msgstr ""
"предлагаетÑÑ Ð·Ð°Ð¿ÑƒÑтить команду <command>groupmod</command>, чтобы иÑправить "
"ошибку."
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -8964,11 +9145,11 @@ msgstr ""
"иÑпользовать <command>grpck</command> Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ñпорченной запиÑи."
# type: Content of: <refentry><refsect1><para>
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "Параметры команды <command>grpck</command>:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
@@ -8978,7 +9159,7 @@ msgstr ""
"Ñтом на вÑе вопроÑÑ‹ об изменениÑÑ… уÑтанавливаетÑÑ Ð¾Ñ‚Ð²ÐµÑ‚ <emphasis>нет</"
"emphasis> и учаÑтие Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ требуетÑÑ."
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
@@ -8987,7 +9168,20 @@ msgstr ""
"condition=\"gshadow\">и <filename>/etc/gshadow</filename></phrase> по "
"чиÑловому идентификатору группы (GID)."
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
#, fuzzy
#| msgid ""
#| "By default, <command>grpck</command> operates on <filename>/etc/group</"
@@ -9012,27 +9206,27 @@ msgstr ""
"\">shadow</emphasis>.</phrase>"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "еÑÑ‚ÑŒ одна или более неправильных запиÑей групп"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "не удалоÑÑŒ открыть файл групп"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "не удалоÑÑŒ заблокировать файл групп"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "не удалоÑÑŒ изменить файл групп"
# type: Content of: <refentry><refsect1><para>
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9040,7 +9234,7 @@ msgstr ""
"Команда <command>grpck</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -9146,9 +9340,13 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr "Параметры команды <command>groupmod</command>:"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
msgid ""
-"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
"replaceable>"
msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
@@ -9156,6 +9354,20 @@ msgstr ""
#: groupmod.8.xml:100(para)
msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:109(para)
+msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
msgstr ""
@@ -9163,7 +9375,7 @@ msgstr ""
"<replaceable>GID</replaceable>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
@@ -9173,7 +9385,7 @@ msgstr ""
"неотрицательным. Это значение должно быть уникальным, еÑли не указан "
"параметр <option>-o</option>."
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
@@ -9181,7 +9393,7 @@ msgstr ""
"У пользователей, которых Ñта группа ÑвлÑетÑÑ Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð¾Ð¹, будет выполнено "
"ÑоответÑтвующее обновление."
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
@@ -9189,7 +9401,7 @@ msgstr ""
"У вÑех файлов, которые имеют ID Ñтарой группы и должны продолжать "
"принадлежать <replaceable>GROUP</replaceable>, нужно изменить их ID вручную."
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
@@ -9199,7 +9411,7 @@ msgstr ""
"<option>SYS_GID_MIN</option> или <option>SYS_GID_MAX</option> из <filename>/"
"etc/login.defs</filename> не производитÑÑ."
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -9207,7 +9419,7 @@ msgstr ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>ÐОВÐЯ_ГРУППÐ</replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
@@ -9216,7 +9428,7 @@ msgstr ""
"<emphasis remap=\"I\">ÐОВÐЯ_ГРУППÐ</emphasis>."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
@@ -9224,80 +9436,92 @@ msgstr ""
"При иÑпользовании Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-g</option> разрешаетÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑ‚ÑŒ "
"<replaceable>GID</replaceable> группы не уникальным значением."
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr "ÐдминиÑтраторы могут менÑÑ‚ÑŒ пароль или членÑтво в группе."
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "ошибка в параметрах команды"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "недопуÑтимое значение параметра"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° не ÑущеÑтвует"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "такое Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ уже иÑпользуетÑÑ"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° не ÑущеÑтвует"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "такое Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ уже иÑпользуетÑÑ"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "не удалоÑÑŒ изменить файл групп"
# type: Content of: <refentry><refmeta><manvolnum>
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
# type: Content of: <refentry><refsect1><para>
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9305,7 +9529,7 @@ msgstr ""
"Команда <command>groupmod</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9474,7 +9698,7 @@ msgstr ""
"Суперпользователь может указать группу, в которой нужно изменить ÑпиÑок "
"членов."
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -9582,8 +9806,14 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "Параметры команды <command>groupdel</command>:"
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
# type: Content of: <refentry><refsect1><para>
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -9592,7 +9822,7 @@ msgstr ""
"пользователÑ. Ð’Ñ‹ должны удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿ÐµÑ€ÐµÐ´ тем как удалÑÑ‚ÑŒ группу."
# type: Content of: <refentry><refsect1><para>
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
@@ -9601,12 +9831,12 @@ msgstr ""
"оÑталоÑÑŒ файлов, принадлежащих удалённой группе."
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "не удалоÑÑŒ удалить первичную пользовательÑкую группу"
# type: Content of: <refentry><refsect1><para>
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9614,7 +9844,7 @@ msgstr ""
"Программа <command>groupdel</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -9751,7 +9981,7 @@ msgstr ""
"<option>GID_MAX</option>."
# type: Content of: <refentry><refsect1><para>
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -9763,12 +9993,12 @@ msgstr ""
"выражением: [a-z_][a-z0-9_-]*[$]?"
# type: Content of: <refentry><refsect1><para>
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr "Имена групп могут быть длиной не более &GROUP_NAME_MAX_LENGTH; знаков."
# type: Content of: <refentry><refsect1><para>
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
@@ -9777,7 +10007,7 @@ msgstr ""
"ÑоответÑтвующем Ñервере."
# type: Content of: <refentry><refsect1><para>
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
@@ -9785,17 +10015,22 @@ msgstr ""
"ЕÑли Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ уже ÑущеÑтвует во внешней базе данных групп, например в NIS "
"или LDAP, то <command>groupadd</command> не Ñтанет Ñоздавать группу."
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "не уникальный GID (еÑли не задан параметр <option>-o</option>)"
+# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "такой UID уже ÑущеÑтвует (и не задан параметр <option>-o</option>)"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr "не уникальное Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "такое Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ уже иÑпользуетÑÑ"
# type: Content of: <refentry><refsect1><para>
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9803,7 +10038,7 @@ msgstr ""
"Программа <command>groupadd</command> Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ, возвращает Ñледующие "
"значениÑ: <placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -10369,7 +10604,7 @@ msgstr "ПроверÑет и изменÑет Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð
msgid "Force a password change if the current user has an expired password."
msgstr "Принудительно менÑет пароль, еÑли его Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¸Ñтёк."
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -10403,6 +10638,15 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "Параметры команды <command>chsh</command>:"
+# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"Ð˜Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ региÑтрационной оболочки пользователÑ. ЕÑли задать пуÑтое "
+"значение, то будет иÑпользована региÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° по умолчанию."
+
# type: Content of: <refentry><refsect1><para>
#: chsh.1.xml:130(para)
msgid ""
@@ -10929,16 +11173,23 @@ msgstr ""
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: chage.1.xml:101(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
"УÑтановить чиÑло дней прошедших Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года, когда была поÑледнÑÑ "
"Ñмена паролÑ. Дата может быть также указана в виде ГГГГ-ММ-ДД (или в форме "
"ÑоглаÑно региональным наÑтройкам)."
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -10947,7 +11198,7 @@ msgstr ""
"<replaceable>ДÐТÐ_УСТÐРЕВÐÐИЯ</replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -10961,7 +11212,21 @@ msgstr ""
"Пользователь, Ñ‡ÑŒÑ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была заблокирована, должен обратитьÑÑ Ðº "
"ÑиÑтемному админиÑтратору, еÑли хочет в дальнейшем работать Ñ ÑиÑтемой."
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -10971,17 +11236,17 @@ msgstr ""
"<replaceable>ДÐТÐ_УСТÐРЕВÐÐИЯ</replaceable> отменÑет уÑтаревание учётной "
"запиÑи."
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--sort</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -10990,7 +11255,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -11003,7 +11268,7 @@ msgstr ""
"ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была заблокирована, должен обратитьÑÑ Ðº ÑиÑтемному "
"админиÑтратору, еÑли хочет в дальнейшем работать Ñ ÑиÑтемой."
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -11012,11 +11277,11 @@ msgstr ""
"replaceable> отменÑет неактивноÑÑ‚ÑŒ учётной запиÑи."
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "Показать информацию об уÑтаревании учётной запиÑи."
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -11024,7 +11289,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>МИÐ_ДÐЕЙ</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -11033,7 +11298,7 @@ msgstr ""
"replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -11049,7 +11314,7 @@ msgstr ""
"неожиданноÑтью можно воÑпользоватьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <option>-W</option>, который "
"активирует выдачу Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾ Ñмене Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°Ñ€Ð°Ð½ÐµÐµ."
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -11058,7 +11323,7 @@ msgstr ""
"<replaceable>ПРЕДУП_ДÐЕЙ</replaceable>"
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -11071,7 +11336,7 @@ msgstr ""
"уÑтаревании паролÑ, перед тем как Ñто ÑлучитÑÑ."
# type: Content of: <refentry><refsect1><para>
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -11086,15 +11351,31 @@ msgstr ""
"Текущее значение показано в Ñкобках <emphasis>[ ]</emphasis>."
# type: Content of: <refentry><refsect1><para>
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
msgstr ""
"Программа <command>chage</command> требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° теневых паролей."
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
# type: Content of: <refentry><refsect1><para>
-#: chage.1.xml:242(para)
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -11106,17 +11387,17 @@ msgstr ""
"уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ñвоего паролÑ."
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable>
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "не удалоÑÑŒ найти файл теневых паролей"
# type: Content of: <refentry><refsect1><para>
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -11131,6 +11412,9 @@ msgstr ""
"Yuri Kozlov <yuray@komyakino.ru>, 2005, 2006, 2012 Sergey Alyoshin <alyoshin."
"s@gmail.com>, 2012 "
+#~ msgid "Move the content of the user's home directory to the new location."
+#~ msgstr "ПеремеÑтить Ñодержимое домашнего каталога в новое меÑто."
+
#~ msgid ""
#~ "Additional arguments may be provided after the username, in which case "
#~ "they are supplied to the user's login shell. In particular, an argument "
@@ -11183,6 +11467,22 @@ msgstr ""
#~ "шифрованный пароль, ÑоглаÑно формату <citerefentry><refentrytitle>crypt</"
#~ "refentrytitle><manvolnum>3</manvolnum></citerefentry>."
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "ЕÑли Ñто поле указывает на неÑущеÑтвующий каталог, то указанный каталог "
+#~ "ÑоздаётÑÑ, его владельцем назначаетÑÑ Ñоздаваемый или обновлÑемый "
+#~ "пользователь и его Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°."
+
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "не уникальный GID (еÑли не задан параметр <option>-o</option>)"
+
+# type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
+#~ msgid "group name not unique"
+#~ msgstr "не уникальное Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
+
# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option>
#~ msgid "-M"
#~ msgstr "-M"
diff --git a/man/po/shadow-man-pages.pot b/man/po/shadow-man-pages.pot
index 40ba2f7c..4d813fc9 100644
--- a/man/po/shadow-man-pages.pot
+++ b/man/po/shadow-man-pages.pot
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,51 +21,51 @@ msgstr ""
msgid "Creation, 1997"
msgstr ""
-#: vipw.8.xml:46(firstname) usermod.8.xml:51(firstname) userdel.8.xml:50(firstname) useradd.8.xml:63(firstname) suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname) shadow.5.xml:44(firstname) shadow.3.xml:44(firstname) pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname) porttime.5.xml:44(firstname) passwd.5.xml:44(firstname) passwd.1.xml:51(firstname) newusers.8.xml:60(firstname) newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname) login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname) login.1.xml:77(firstname) limits.5.xml:46(firstname) lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname) groups.1.xml:44(firstname) groupmod.8.xml:45(firstname) groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname) groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname) faillog.8.xml:44(firstname) faillog.5.xml:44(firstname) expiry.1.xml:48(firstname) chsh.1.xml:47(firstname) chpasswd.8.xml:48(firstname) chgpasswd.8.xml:44(firstname) chfn.1.xml:47(firstname) chage.1.xml:45(firstname)
+#: vipw.8.xml:46(firstname) usermod.8.xml:51(firstname) userdel.8.xml:50(firstname) useradd.8.xml:63(firstname) suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname) shadow.5.xml:44(firstname) shadow.3.xml:44(firstname) pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname) porttime.5.xml:44(firstname) passwd.5.xml:44(firstname) passwd.1.xml:51(firstname) newusers.8.xml:60(firstname) newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname) login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname) login.1.xml:77(firstname) limits.5.xml:46(firstname) lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname) groups.1.xml:44(firstname) groupmod.8.xml:45(firstname) groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname) groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname) faillog.8.xml:44(firstname) faillog.5.xml:44(firstname) expiry.1.xml:48(firstname) chsh.1.xml:47(firstname) chpasswd.8.xml:48(firstname) chgpasswd.8.xml:44(firstname) chfn.1.xml:47(firstname) chage.1.xml:45(firstname)
msgid "Thomas"
msgstr ""
-#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname) useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname) sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname) pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname) passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname) newgrp.1.xml:46(surname) logoutd.8.xml:45(surname) login.defs.5.xml:112(surname) login.access.5.xml:46(surname) login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname) grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname) groupmems.8.xml:49(surname) groupdel.8.xml:46(surname) groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname) faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname) chsh.1.xml:48(surname) chpasswd.8.xml:49(surname) chgpasswd.8.xml:45(surname) chfn.1.xml:48(surname) chage.1.xml:46(surname)
+#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname) useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname) sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname) pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname) passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname) newgrp.1.xml:46(surname) logoutd.8.xml:45(surname) login.defs.5.xml:114(surname) login.access.5.xml:46(surname) login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname) grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname) groupmems.8.xml:49(surname) groupdel.8.xml:46(surname) groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname) faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname) chsh.1.xml:48(surname) chpasswd.8.xml:49(surname) chgpasswd.8.xml:45(surname) chfn.1.xml:48(surname) chage.1.xml:46(surname)
msgid "KÅ‚oczko"
msgstr ""
-#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email) useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email) sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email) pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email) passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email) newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email) login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email) lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email) groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email) groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email) faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email) chpasswd.8.xml:50(email) chgpasswd.8.xml:46(email) chfn.1.xml:49(email) chage.1.xml:47(email)
+#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email) useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email) sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email) pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email) passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email) newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email) login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email) lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email) groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email) groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email) faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email) chpasswd.8.xml:50(email) chgpasswd.8.xml:46(email) chfn.1.xml:49(email) chage.1.xml:47(email)
msgid "kloczek@pld.org.pl"
msgstr ""
-#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib) useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib) sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib) pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib) passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib) newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib) login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib) login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib) grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib) groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib) groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib) faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib) chsh.1.xml:50(contrib) chpasswd.8.xml:51(contrib) chfn.1.xml:50(contrib) chage.1.xml:48(contrib)
+#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib) useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib) sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib) pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib) passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib) newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib) login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib) login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib) grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib) groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib) groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib) faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib) chsh.1.xml:50(contrib) chpasswd.8.xml:51(contrib) chfn.1.xml:50(contrib) chage.1.xml:48(contrib)
msgid "shadow-utils maintainer, 2000 - 2007"
msgstr ""
-#: vipw.8.xml:52(firstname) usermod.8.xml:57(firstname) userdel.8.xml:56(firstname) useradd.8.xml:69(firstname) suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname) shadow.5.xml:50(firstname) shadow.3.xml:50(firstname) pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname) porttime.5.xml:50(firstname) passwd.5.xml:50(firstname) passwd.1.xml:57(firstname) nologin.8.xml:39(firstname) newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname) logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname) login.access.5.xml:51(firstname) login.1.xml:83(firstname) limits.5.xml:52(firstname) lastlog.8.xml:52(firstname) gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname) groups.1.xml:50(firstname) groupmod.8.xml:51(firstname) groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname) groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname) faillog.8.xml:50(firstname) faillog.5.xml:50(firstname) expiry.1.xml:54(firstname) chsh.1.xml:53(firstname) chpasswd.8.xml:54(firstname) chgpasswd.8.xml:50(firstname) chfn.1.xml:53(firstname) chage.1.xml:51(firstname)
+#: vipw.8.xml:52(firstname) usermod.8.xml:57(firstname) userdel.8.xml:56(firstname) useradd.8.xml:69(firstname) suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname) shadow.5.xml:50(firstname) shadow.3.xml:50(firstname) pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname) porttime.5.xml:50(firstname) passwd.5.xml:50(firstname) passwd.1.xml:57(firstname) nologin.8.xml:39(firstname) newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname) logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname) login.access.5.xml:51(firstname) login.1.xml:83(firstname) limits.5.xml:52(firstname) lastlog.8.xml:52(firstname) gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname) groups.1.xml:50(firstname) groupmod.8.xml:51(firstname) groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname) groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname) faillog.8.xml:50(firstname) faillog.5.xml:50(firstname) expiry.1.xml:54(firstname) chsh.1.xml:53(firstname) chpasswd.8.xml:54(firstname) chgpasswd.8.xml:50(firstname) chfn.1.xml:53(firstname) chage.1.xml:51(firstname)
msgid "Nicolas"
msgstr ""
-#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname) useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname) sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname) pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname) passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname) newusers.8.xml:67(surname) newgrp.1.xml:52(surname) logoutd.8.xml:51(surname) login.defs.5.xml:118(surname) login.access.5.xml:52(surname) login.1.xml:84(surname) limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname) grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname) groupmems.8.xml:55(surname) groupdel.8.xml:52(surname) groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname) faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname) chsh.1.xml:54(surname) chpasswd.8.xml:55(surname) chgpasswd.8.xml:51(surname) chfn.1.xml:54(surname) chage.1.xml:52(surname)
+#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname) useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname) sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname) pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname) passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname) newusers.8.xml:67(surname) newgrp.1.xml:52(surname) logoutd.8.xml:51(surname) login.defs.5.xml:120(surname) login.access.5.xml:52(surname) login.1.xml:84(surname) limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname) grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname) groupmems.8.xml:55(surname) groupdel.8.xml:52(surname) groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname) faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname) chsh.1.xml:54(surname) chpasswd.8.xml:55(surname) chgpasswd.8.xml:51(surname) chfn.1.xml:54(surname) chage.1.xml:52(surname)
msgid "François"
msgstr ""
-#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email) useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email) sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email) pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email) passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email) newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email) login.defs.5.xml:119(email) login.access.5.xml:53(email) login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email) gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email) groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email) groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email) faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email) chpasswd.8.xml:56(email) chgpasswd.8.xml:52(email) chfn.1.xml:55(email) chage.1.xml:53(email)
+#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email) useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email) sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email) pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email) passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email) newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email) login.defs.5.xml:121(email) login.access.5.xml:53(email) login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email) gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email) groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email) groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email) faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email) chpasswd.8.xml:56(email) chgpasswd.8.xml:52(email) chfn.1.xml:55(email) chage.1.xml:53(email)
msgid "nicolas.francois@centraliens.net"
msgstr ""
-#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib) useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib) sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib) pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib) passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib) newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib) logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib) login.access.5.xml:54(contrib) login.1.xml:86(contrib) limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib) grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib) groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib) groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib) faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib) chsh.1.xml:56(contrib) chpasswd.8.xml:57(contrib) chgpasswd.8.xml:53(contrib) chfn.1.xml:56(contrib) chage.1.xml:54(contrib)
+#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib) useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib) sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib) pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib) passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib) newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib) logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib) login.access.5.xml:54(contrib) login.1.xml:86(contrib) limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib) grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib) groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib) groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib) faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib) chsh.1.xml:56(contrib) chpasswd.8.xml:57(contrib) chgpasswd.8.xml:53(contrib) chfn.1.xml:56(contrib) chage.1.xml:54(contrib)
msgid "shadow-utils maintainer, 2007 - now"
msgstr ""
-#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command) login.defs.5.xml:520(term)
+#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command) login.defs.5.xml:524(term)
msgid "vipw"
msgstr ""
-#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum) userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable) useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum) pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum) newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum) lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum) groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum) groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable) groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum) faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum) chgpasswd.8.xml:58(manvolnum)
+#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum) userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable) useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum) pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum) newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum) lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum) groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum) groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable) groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum) faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum) chgpasswd.8.xml:58(manvolnum)
msgid "8"
msgstr ""
-#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo) userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo) pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo) nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo) logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo) grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo) groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo) groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo) chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
+#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo) userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo) pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo) nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo) logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo) grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo) groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo) groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo) chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
msgid "System Management Commands"
msgstr ""
-#: vipw.8.xml:62(refmiscinfo) usermod.8.xml:67(refmiscinfo) userdel.8.xml:66(refmiscinfo) useradd.8.xml:79(refmiscinfo) suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo) sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo) shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo) pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo) passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo) nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo) newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo) login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo) login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo) lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo) grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo) groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo) groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo) gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo) faillog.5.xml:60(refmiscinfo) expiry.1.xml:64(refmiscinfo) chsh.1.xml:63(refmiscinfo) chpasswd.8.xml:64(refmiscinfo) chgpasswd.8.xml:60(refmiscinfo) chfn.1.xml:63(refmiscinfo) chage.1.xml:61(refmiscinfo)
+#: vipw.8.xml:62(refmiscinfo) usermod.8.xml:67(refmiscinfo) userdel.8.xml:66(refmiscinfo) useradd.8.xml:79(refmiscinfo) suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo) sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo) shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo) pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo) passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo) nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo) newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo) login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo) login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo) lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo) grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo) groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo) groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo) gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo) faillog.5.xml:60(refmiscinfo) expiry.1.xml:64(refmiscinfo) chsh.1.xml:63(refmiscinfo) chpasswd.8.xml:64(refmiscinfo) chgpasswd.8.xml:60(refmiscinfo) chfn.1.xml:63(refmiscinfo) chage.1.xml:61(refmiscinfo)
msgid "shadow-utils"
msgstr ""
@@ -77,11 +77,11 @@ msgstr ""
msgid "edit the password, group, shadow-password or shadow-group file"
msgstr ""
-#: vipw.8.xml:77(replaceable) vipw.8.xml:83(replaceable) usermod.8.xml:79(replaceable) userdel.8.xml:76(arg) useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable) su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable) pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable) pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable) newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable) grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable) groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable) faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable) chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable) chfn.1.xml:75(replaceable) chage.1.xml:72(replaceable)
+#: vipw.8.xml:77(replaceable) vipw.8.xml:83(replaceable) usermod.8.xml:79(replaceable) userdel.8.xml:76(arg) useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable) su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable) pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable) pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable) newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable) grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable) groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable) faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable) chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable) chfn.1.xml:75(replaceable) chage.1.xml:72(replaceable)
msgid "options"
msgstr ""
-#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title) useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title) sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title) shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title) porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title) nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title) logoutd.8.xml:75(title) login.defs.5.xml:136(title) login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title) lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title) groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title) groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title) faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title) chsh.1.xml:84(title) chpasswd.8.xml:82(title) chgpasswd.8.xml:78(title) chfn.1.xml:84(title) chage.1.xml:81(title)
+#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title) useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title) sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title) shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title) porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title) nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title) logoutd.8.xml:75(title) login.defs.5.xml:138(title) login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title) lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title) groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title) groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title) faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title) chsh.1.xml:84(title) chpasswd.8.xml:82(title) chgpasswd.8.xml:78(title) chfn.1.xml:84(title) chage.1.xml:81(title)
msgid "DESCRIPTION"
msgstr ""
@@ -89,7 +89,7 @@ msgstr ""
msgid "The <command>vipw</command> and <command>vigr</command> commands edits the files <filename>/etc/passwd</filename> and <filename>/etc/group</filename>, respectively. With the <option>-s</option> flag, they will edit the shadow versions of those files, <filename>/etc/shadow</filename> and <filename>/etc/gshadow</filename>, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable <envar>$VISUAL</envar>, then the environment variable <envar>$EDITOR</envar>, and finally the default editor, <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>."
msgstr ""
-#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title) useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title) pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title) login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title) groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title) groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title) expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title) chgpasswd.8.xml:105(title) chfn.1.xml:111(title) chage.1.xml:91(title)
+#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title) useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title) pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title) login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title) groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title) groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title) expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title) chgpasswd.8.xml:105(title) chfn.1.xml:111(title) chage.1.xml:91(title)
msgid "OPTIONS"
msgstr ""
@@ -105,11 +105,11 @@ msgstr ""
msgid "Edit group database."
msgstr ""
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term) pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term) newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term) groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term) groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term) expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term) chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term) pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term) newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term) groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term) groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term) expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term) chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr ""
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para) pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para) newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para) groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para) groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para) expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para) chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para) pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para) newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para) groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para) groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para) expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para) chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr ""
@@ -121,7 +121,7 @@ msgstr ""
msgid "Edit passwd database."
msgstr ""
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr ""
@@ -129,11 +129,11 @@ msgstr ""
msgid "Quiet mode."
msgstr ""
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term) useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term) passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term) grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term) groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term) chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term) chfn.1.xml:153(term) chage.1.xml:203(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term) useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term) passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term) grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term) groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term) chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term) chfn.1.xml:153(term) chage.1.xml:213(term)
msgid "<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</replaceable>"
msgstr ""
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para) useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para) passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para) grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para) groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para) faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para) chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para) useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para) passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para) grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para) groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para) faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para) chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid "Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use the configuration files from the <replaceable>CHROOT_DIR</replaceable> directory."
msgstr ""
@@ -153,11 +153,11 @@ msgstr ""
msgid "Indicates which user's tcb shadow file to edit."
msgstr ""
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title) useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title) pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title) newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title) lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title) groupmems.8.xml:199(title) groupdel.8.xml:145(title) groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title) chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title) chage.1.xml:250(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title) useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title) pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title) newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title) lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title) groupmems.8.xml:199(title) groupdel.8.xml:156(title) groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title) chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title) chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr ""
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para) useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para) pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para) newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para) grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para) groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para) chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para) chfn.1.xml:194(para) chage.1.xml:251(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para) useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para) pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para) newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para) grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para) groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para) chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para) chfn.1.xml:194(para) chage.1.xml:273(para)
msgid "The following configuration variables in <filename>/etc/login.defs</filename> change the behavior of this tool:"
msgstr ""
@@ -189,43 +189,43 @@ msgstr ""
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr ""
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title) useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title) sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title) pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title) passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title) newgrp.1.xml:121(title) logoutd.8.xml:89(title) login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title) lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title) groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title) groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title) faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title) chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title) chfn.1.xml:207(title) chage.1.xml:262(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title) useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title) sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title) pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title) passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title) newgrp.1.xml:121(title) logoutd.8.xml:89(title) login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title) lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title) groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title) groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title) faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title) chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title) chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr ""
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename) userdel.8.xml:208(filename) useradd.8.xml:721(filename) sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename) newgrp.1.xml:136(filename) gshadow.5.xml:159(filename) grpck.8.xml:224(filename) groups.1.xml:103(filename) groupmod.8.xml:225(filename) groupmems.8.xml:214(filename) groupdel.8.xml:160(filename) groupadd.8.xml:253(filename) gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename) gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename) userdel.8.xml:208(filename) useradd.8.xml:728(filename) sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename) newgrp.1.xml:136(filename) gshadow.5.xml:159(filename) grpck.8.xml:234(filename) groups.1.xml:103(filename) groupmod.8.xml:250(filename) groupmems.8.xml:214(filename) groupdel.8.xml:171(filename) groupadd.8.xml:269(filename) gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename) gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr ""
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para) useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para) newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para) grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para) groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para) gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para) useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para) newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para) grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para) groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para) gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr ""
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename) useradd.8.xml:727(filename) sg.1.xml:131(filename) newusers.8.xml:432(filename) newgrp.1.xml:142(filename) gshadow.5.xml:165(filename) grpck.8.xml:230(filename) groupmod.8.xml:231(filename) groupmems.8.xml:220(filename) groupdel.8.xml:166(filename) groupadd.8.xml:259(filename) gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename) chgpasswd.8.xml:222(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename) useradd.8.xml:734(filename) sg.1.xml:131(filename) newusers.8.xml:440(filename) newgrp.1.xml:142(filename) gshadow.5.xml:165(filename) grpck.8.xml:240(filename) groupmod.8.xml:256(filename) groupmems.8.xml:220(filename) groupdel.8.xml:177(filename) groupadd.8.xml:275(filename) gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename) chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr ""
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para) sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para) gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para) groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para) chgpasswd.8.xml:224(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para) sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para) gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para) groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para) chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr ""
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename) userdel.8.xml:220(filename) useradd.8.xml:709(filename) su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename) pwck.8.xml:288(filename) passwd.5.xml:163(filename) passwd.1.xml:416(filename) newusers.8.xml:414(filename) newgrp.1.xml:124(filename) login.1.xml:353(filename) grpck.8.xml:236(filename) groupmod.8.xml:243(filename) expiry.1.xml:124(filename) chsh.1.xml:170(filename) chpasswd.8.xml:258(filename) chfn.1.xml:216(filename) chage.1.xml:266(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename) userdel.8.xml:220(filename) useradd.8.xml:716(filename) su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename) pwck.8.xml:290(filename) passwd.5.xml:166(filename) passwd.1.xml:416(filename) newusers.8.xml:422(filename) newgrp.1.xml:124(filename) login.1.xml:353(filename) grpck.8.xml:246(filename) groupmod.8.xml:268(filename) expiry.1.xml:124(filename) chsh.1.xml:170(filename) chpasswd.8.xml:258(filename) chfn.1.xml:216(filename) chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr ""
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para) useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para) shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para) passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para) login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para) expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para) chfn.1.xml:218(para) chage.1.xml:269(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para) useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para) shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para) passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para) login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para) expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para) chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr ""
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename) userdel.8.xml:226(filename) useradd.8.xml:715(filename) su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename) shadow.3.xml:229(filename) pwck.8.xml:294(filename) passwd.5.xml:169(filename) passwd.1.xml:422(filename) newusers.8.xml:420(filename) newgrp.1.xml:130(filename) login.1.xml:359(filename) expiry.1.xml:130(filename) chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename) userdel.8.xml:226(filename) useradd.8.xml:722(filename) su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename) shadow.3.xml:229(filename) pwck.8.xml:296(filename) passwd.5.xml:172(filename) passwd.1.xml:422(filename) newusers.8.xml:428(filename) newgrp.1.xml:130(filename) login.1.xml:359(filename) expiry.1.xml:130(filename) chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr ""
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para) useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para) shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para) passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para) login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para) chage.1.xml:277(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para) useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para) shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para) passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para) login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para) chage.1.xml:299(para)
msgid "Secure user account information."
msgstr ""
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title) useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title) sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title) pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title) passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title) newusers.8.xml:465(title) newgrp.1.xml:151(title) login.defs.5.xml:547(title) login.access.5.xml:133(title) login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title) grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title) groupmems.8.xml:229(title) groupdel.8.xml:214(title) groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title) faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title) chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title) chage.1.xml:317(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title) useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title) sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title) pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title) passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title) newusers.8.xml:473(title) newgrp.1.xml:151(title) login.defs.5.xml:551(title) login.access.5.xml:133(title) login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title) grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title) groupmems.8.xml:229(title) groupdel.8.xml:225(title) groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title) faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title) chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title) chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr ""
@@ -233,19 +233,19 @@ msgstr ""
msgid "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum></citerefentry><citerefentry condition=\"tcb\"><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry condition=\"tcb\"><refentrytitle>tcb</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>."
msgstr ""
-#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname) useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname) shadow.5.xml:39(firstname) shadow.3.xml:39(firstname) pwck.8.xml:45(firstname) porttime.5.xml:39(firstname) passwd.5.xml:39(firstname) passwd.1.xml:46(firstname) newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname) logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname) login.1.xml:72(firstname) lastlog.8.xml:41(firstname) grpck.8.xml:40(firstname) groups.1.xml:39(firstname) groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname) groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname) faillog.5.xml:39(firstname) expiry.1.xml:43(firstname) chsh.1.xml:42(firstname) chpasswd.8.xml:43(firstname) chfn.1.xml:42(firstname) chage.1.xml:40(firstname)
+#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname) useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname) shadow.5.xml:39(firstname) shadow.3.xml:39(firstname) pwck.8.xml:46(firstname) porttime.5.xml:39(firstname) passwd.5.xml:39(firstname) passwd.1.xml:46(firstname) newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname) logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname) login.1.xml:72(firstname) lastlog.8.xml:41(firstname) grpck.8.xml:39(firstname) groups.1.xml:39(firstname) groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname) groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname) faillog.5.xml:39(firstname) expiry.1.xml:43(firstname) chsh.1.xml:42(firstname) chpasswd.8.xml:43(firstname) chfn.1.xml:42(firstname) chage.1.xml:40(firstname)
msgid "Julianne Frances"
msgstr ""
-#: usermod.8.xml:47(surname) userdel.8.xml:46(surname) useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname) shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname) porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname) newusers.8.xml:56(surname) newgrp.1.xml:41(surname) logoutd.8.xml:40(surname) login.defs.5.xml:107(surname) login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname) groups.1.xml:40(surname) groupmod.8.xml:41(surname) groupdel.8.xml:41(surname) groupadd.8.xml:43(surname) faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname) chsh.1.xml:43(surname) chpasswd.8.xml:44(surname) chfn.1.xml:43(surname) chage.1.xml:41(surname)
+#: usermod.8.xml:47(surname) userdel.8.xml:46(surname) useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname) shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname) porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname) newusers.8.xml:56(surname) newgrp.1.xml:41(surname) logoutd.8.xml:40(surname) login.defs.5.xml:109(surname) login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname) groups.1.xml:40(surname) groupmod.8.xml:41(surname) groupdel.8.xml:41(surname) groupadd.8.xml:43(surname) faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname) chsh.1.xml:43(surname) chpasswd.8.xml:44(surname) chfn.1.xml:43(surname) chage.1.xml:41(surname)
msgid "Haugh"
msgstr ""
-#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib) useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib) newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib) login.defs.5.xml:108(contrib) groups.1.xml:41(contrib) groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib) groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
+#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib) useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib) newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib) login.defs.5.xml:110(contrib) groups.1.xml:41(contrib) groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib) groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
-#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname) usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname) usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr ""
@@ -277,7 +277,7 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr ""
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para) newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para) newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -298,258 +298,266 @@ msgid "The user's new login directory."
msgstr ""
#: usermod.8.xml:142(para)
-msgid "If the <option>-m</option> option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist."
+msgid "If the <option>-m</option> option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist. If the current home directory does not exist the new home directory will not be created."
msgstr ""
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid "<option>-e</option>, <option>--expiredate</option>&nbsp;<replaceable>EXPIRE_DATE</replaceable>"
msgstr ""
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid "The date on which the user account will be disabled. The date is specified in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
msgstr ""
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid "An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the expiration of the account."
msgstr ""
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid "This option requires a <filename>/etc/shadow</filename> file. A <filename>/etc/shadow</filename> entry will be created if there were none."
msgstr ""
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid "<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</replaceable>"
msgstr ""
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid "The number of days after a password expires until the account is permanently disabled."
msgstr ""
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid "A value of 0 disables the account as soon as the password has expired, and a value of -1 disables the feature."
msgstr ""
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</replaceable>"
msgstr ""
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid "The group name or number of the user's new initial login group. The group must exist."
msgstr ""
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid "Any file from the user's home directory owned by the previous primary group of the user will be owned by this new group."
msgstr ""
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid "The group ownership of files outside of the user's home directory must be fixed manually."
msgstr ""
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid "The change of the group ownership of files inside of the user's home directory is also not done if the home dir owner uid is different from the current or new user id. This is a safety measure for special home directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid "<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I\">,GROUPN</emphasis>]]]"
msgstr ""
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid "A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the <option>-g</option> option."
msgstr ""
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid "If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via the <option>-a</option> option, which appends the user to the current supplementary group list."
msgstr ""
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid "<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</replaceable>"
msgstr ""
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid "The name of the user will be changed from <replaceable>LOGIN</replaceable> to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In particular, the user's home directory or mail spool should probably be renamed manually to reflect the new login name."
msgstr ""
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr ""
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid "Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with <option>-p</option> or <option>-U</option>."
msgstr ""
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid "Note: if you wish to lock the account (not only access with a password), you should also set the <replaceable>EXPIRE_DATE</replaceable> to <replaceable>1</replaceable>."
msgstr ""
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr ""
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid "Move the content of the user's home directory to the new location. If the current home directory does not exist the new home directory will not be created."
msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid "This option is only valid in combination with the <option>-d</option> (or <option>--home</option>) option."
msgstr ""
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid "<command>usermod</command> will try to adapt the ownership of the files and to copy the modes, ACL and extended attributes, but manual changes might be needed afterwards."
msgstr ""
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term) groupadd.8.xml:157(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term) groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr ""
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid "When used with the <option>-u</option> option, this option allows to change the user ID to a non-unique value."
msgstr ""
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term) groupadd.8.xml:167(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term) groupadd.8.xml:167(term)
msgid "<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</replaceable>"
msgstr ""
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid "The encrypted password, as returned by <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>."
msgstr ""
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para) groupadd.8.xml:176(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para) groupadd.8.xml:176(para)
msgid "<emphasis role=\"bold\">Note:</emphasis> This option is not recommended because the password (or encrypted password) will be visible by users listing the processes."
msgstr ""
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid "The password will be written in the local <filename>/etc/passwd</filename> or <filename>/etc/shadow</filename> file. This might differ from the password database configured in your PAM configuration."
msgstr ""
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para) groupadd.8.xml:181(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para) groupadd.8.xml:181(para)
msgid "You should make sure the password respects the system's password policy."
msgstr ""
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term) groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term) groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
msgid "<option>-P</option>, <option>--prefix</option>&nbsp;<replaceable>PREFIX_DIR</replaceable>"
msgstr ""
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para) groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para) groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid "Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use the configuration files from the <replaceable>PREFIX_DIR</replaceable> directory. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term) su.1.xml:186(term) chsh.1.xml:119(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term) su.1.xml:186(term) chsh.1.xml:119(term)
msgid "<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</replaceable>"
msgstr ""
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
-msgid "The name of the user's new login shell. Setting this field to blank causes the system to select the default login shell."
+#: usermod.8.xml:363(para)
+msgid "The path of the user's new login shell. Setting this field to blank causes the system to select the default login shell."
msgstr ""
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid "<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</replaceable>"
msgstr ""
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr ""
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid "This value must be unique, unless the <option>-o</option> option is used. The value must be non-negative."
msgstr ""
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid "The user's mailbox, and any files which the user owns and which are located in the user's home directory will have the file user ID changed automatically."
msgstr ""
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid "The ownership of files outside of the user's home directory must be fixed manually."
msgstr ""
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid "The change of the user ownership of files inside of the user's home directory is also not done if the home dir owner uid is different from the current or new user id. This is a safety measure for special home directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid "No checks will be performed with regard to the <option>UID_MIN</option>, <option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or <option>SYS_UID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr ""
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid "Unlock a user's password. This removes the '!' in front of the encrypted password. You can't use this option with <option>-p</option> or <option>-L</option>."
msgstr ""
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid "Note: if you wish to unlock the account (not only access with a password), you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example to <replaceable>99999</replaceable>, or to the <option>EXPIRE</option> value from <filename>/etc/default/useradd</filename>)."
msgstr ""
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
msgid "<option>-v</option>, <option>--add-subuids</option>&nbsp;<replaceable>FIRST</replaceable>-<replaceable>LAST</replaceable>"
msgstr ""
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid "This option may be specified multiple times to add multiple ranges to a users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
msgid "No checks will be performed with regard to <option>SUB_UID_MIN</option>, <option>SUB_UID_MAX</option>, or <option>SUB_UID_COUNT</option> from /etc/login.defs."
msgstr ""
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
msgid "<option>-V</option>, <option>--del-subuids</option>&nbsp;<replaceable>FIRST</replaceable>-<replaceable>LAST</replaceable>"
msgstr ""
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid "This option may be specified multiple times to remove multiple ranges to a users account. When both <option>--del-subuids</option> and <option>--add-subuids</option> are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
msgid "<option>-w</option>, <option>--add-subgids</option>&nbsp;<replaceable>FIRST</replaceable>-<replaceable>LAST</replaceable>"
msgstr ""
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
msgid "No checks will be performed with regard to <option>SUB_GID_MIN</option>, <option>SUB_GID_MAX</option>, or <option>SUB_GID_COUNT</option> from /etc/login.defs."
msgstr ""
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
msgid "<option>-W</option>, <option>--del-subgids</option>&nbsp;<replaceable>FIRST</replaceable>-<replaceable>LAST</replaceable>"
msgstr ""
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
msgid "Remove a range of subordinate gids from the user's account."
msgstr ""
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid "This option may be specified multiple times to remove multiple ranges to a users account. When both <option>--del-subgids</option> and <option>--add-subgids</option> are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid "<option>-Z</option>, <option>--selinux-user</option>&nbsp;<replaceable>SEUSER</replaceable>"
msgstr ""
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr ""
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid "A blank <replaceable>SEUSER</replaceable> will remove the SELinux user mapping for user <replaceable>LOGIN</replaceable> (if any)."
msgstr ""
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title) su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title) newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title) groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title) faillog.8.xml:232(title) chpasswd.8.xml:231(title) chgpasswd.8.xml:186(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title) su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title) newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title) groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title) faillog.8.xml:232(title) chpasswd.8.xml:231(title) chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr ""
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
msgid "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, the user's name, or the user's home directory is being changed. <command>usermod</command> checks this on Linux. On other platforms it only uses utmp to check if the user is logged in."
msgstr ""
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid "You must change the owner of any <command>crontab</command> files or <command>at</command> jobs manually."
msgstr ""
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
@@ -669,35 +677,35 @@ msgstr ""
msgid "If <replaceable>yes</replaceable>, the location of the user tcb directory to be created will not be automatically set to /etc/tcb/user, but will be computed depending on the UID of the user, according to the following algorithm: <placeholder-1/>"
msgstr ""
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename) useradd.8.xml:757(filename) su.1.xml:381(filename) pwconv.8.xml:253(filename) passwd.1.xml:428(filename) newusers.8.xml:438(filename) login.access.5.xml:124(filename) login.1.xml:389(filename) groupmod.8.xml:237(filename) groupadd.8.xml:265(filename) chsh.1.xml:182(filename) chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename) chfn.1.xml:210(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename) useradd.8.xml:770(filename) su.1.xml:381(filename) pwconv.8.xml:253(filename) passwd.1.xml:428(filename) newusers.8.xml:446(filename) login.access.5.xml:124(filename) login.1.xml:389(filename) groupmod.8.xml:262(filename) groupadd.8.xml:281(filename) chsh.1.xml:182(filename) chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename) chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr ""
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para) su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para) newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para) groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para) chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para) su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para) newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para) groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para) chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr ""
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename) useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename) useradd.8.xml:758(filename) newusers.8.xml:458(filename)
msgid "/etc/subgid"
msgstr ""
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para) newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para) newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename) useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename) useradd.8.xml:764(filename) newusers.8.xml:464(filename)
msgid "/etc/subuid"
msgstr ""
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para) newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para) newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <phrase condition=\"subids\"><citerefentry><refentrytitle>subgid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>subuid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, </phrase><citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
-#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname) userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname) userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr ""
@@ -713,7 +721,7 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr ""
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr ""
@@ -778,87 +786,95 @@ msgstr ""
msgid "If set to <replaceable>yes</replaceable>, <command>userdel</command> will remove the user's group if it contains no more members, and <command>useradd</command> will create by default a group with the name of the user."
msgstr ""
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title) pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title) groupmod.8.xml:252(title) groupdel.8.xml:175(title) groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+msgid "<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+
+#: userdel.8.xml:234(para)
+msgid "Run-part files to execute during user deletion. The environment variable <command>ACTION</command> will be populated with <command>userdel</command> and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</filename> will be executed prior to any user deletion. <filename>userdel-post.d</filename> will execute after user deletion. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title) pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title) groupmod.8.xml:277(title) groupdel.8.xml:186(title) groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr ""
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable) su.1.xml:409(replaceable) pwck.8.xml:308(replaceable) passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable) groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable) groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable) su.1.xml:409(replaceable) pwck.8.xml:310(replaceable) passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable) groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable) groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr ""
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para) passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para) groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para) passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para) groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr ""
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable) su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum) pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum) passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum) login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable) groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum) expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum) chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable) su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum) pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum) passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum) login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable) groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum) expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum) chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr ""
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr ""
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable) pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable) grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable) groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable) chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable) pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable) grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable) groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable) chage.1.xml:323(replaceable)
msgid "2"
msgstr ""
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para) grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para) chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para) grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para) chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr ""
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable) pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable) groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable) pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable) groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr ""
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr ""
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr ""
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable) groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable) groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable) groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable) groupadd.8.xml:347(replaceable)
msgid "10"
msgstr ""
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para) groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para) groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr ""
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable) groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable) groupmod.8.xml:330(replaceable)
msgid "12"
msgstr ""
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr ""
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid "The <command>userdel</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid "<command>userdel</command> will not allow you to remove an account if there are running processes which belong to this account. In that case, you may have to kill those processes or lock the user's password or account and remove the account later. The <option>-f</option> option can force the deletion of this account."
msgstr ""
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid "You should manually check all file systems to ensure that no files remain owned by this user."
msgstr ""
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid "You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server."
msgstr ""
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid "If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</command> will delete the group with the same name as the user. To avoid inconsistencies in the passwd and group databases, <command>userdel</command> will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise. The <option>-f</option> option can force the deletion of this group."
msgstr ""
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <phrase condition=\"subids\"><citerefentry><refentrytitle>subgid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>subuid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, </phrase><citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
-#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname) useradd.8.xml:88(command) useradd.8.xml:95(command) useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname) useradd.8.xml:88(command) useradd.8.xml:95(command) useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr ""
@@ -882,11 +898,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr ""
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid "<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</replaceable>"
msgstr ""
@@ -907,234 +923,238 @@ msgid "<option>-d</option>, <option>--home-dir</option>&nbsp;<replaceable>HOME_D
msgstr ""
#: useradd.8.xml:178(para)
-msgid "The new user will be created using <replaceable>HOME_DIR</replaceable> as the value for the user's login directory. The default is to append the <replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> and use that as the login directory name. The directory <replaceable>HOME_DIR</replaceable> does not have to exist but will not be created if it is missing."
+msgid "The new user will be created using <replaceable>HOME_DIR</replaceable> as the value for the user's login directory. The default is to append the <replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> and use that as the login directory name. If the directory <replaceable>HOME_DIR</replaceable> does not exist, then it will be created unless the <option>-M</option> option is specified."
msgstr ""
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr ""
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr ""
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid "If not specified, <command>useradd</command> will use the default expiry date specified by the <option>EXPIRE</option> variable in <filename>/etc/default/useradd</filename>, or an empty string (no expiry) by default."
msgstr ""
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid "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."
msgstr ""
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid "If not specified, <command>useradd</command> will use the default inactivity period specified by the <option>INACTIVE</option> variable in <filename>/etc/default/useradd</filename>, or -1 by default."
msgstr ""
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid "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."
msgstr ""
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid "If not specified, the behavior of <command>useradd</command> will depend on the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</filename>. If this variable is set to <replaceable>yes</replaceable> (or <option>-U/--user-group</option> is specified on the command line), a group will be created for the user, with the same name as her loginname. If the variable is set to <replaceable>no</replaceable> (or <option>-N/--no-user-group</option> is specified on the command line), useradd will set the primary group of the new user to the value specified by the <option>GROUP</option> variable in <filename>/etc/default/useradd</filename>, or 100 by default."
msgstr ""
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid "A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the <option>-g</option> option. The default is for the user to belong only to the initial group."
msgstr ""
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid "<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</replaceable>"
msgstr ""
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid "The skeleton directory, which contains files and directories to be copied in the user's home directory, when the home directory is created by <command>useradd</command>."
msgstr ""
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid "This option is only valid if the <option>-m</option> (or <option>--create-home</option>) option is specified."
msgstr ""
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid "If this option is not set, the skeleton directory is defined by the <option>SKEL</option> variable in <filename>/etc/default/useradd</filename> or, by default, <filename>/etc/skel</filename>."
msgstr ""
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr ""
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable>"
msgstr ""
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
msgid "Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</option>, <option>UID_MAX</option>, <option>UMASK</option>, <option>PASS_MAX_DAYS</option> and others). <placeholder-1/> Example: <option>-K</option>&nbsp;<replaceable>PASS_MAX_DAYS</replaceable>=<replaceable>-1</replaceable> can be used when creating system account to turn off password aging, even though system account has no password at all. Multiple <option>-K</option> options can be specified, e.g.: <option>-K</option>&nbsp;<replaceable>UID_MIN</replaceable>=<replaceable>100</replaceable>&nbsp;<option>-K</option>&nbsp;<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
msgstr ""
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr ""
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr ""
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
msgid "By default, the user's entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user."
msgstr ""
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr ""
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid "Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the <option>-k</option> option) will be copied to the home directory."
msgstr ""
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid "By default, if this option is not specified and <option>CREATE_HOME</option> is not enabled, no home directories are created."
msgstr ""
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid "The directory where the user's home directory is created must exist and have proper SELinux context and permissions. Otherwise the user's home directory cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr ""
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid "Do no create the user's home directory, even if the system wide setting from <filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set to <replaceable>yes</replaceable>."
msgstr ""
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr ""
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid "Do not create a group with the same name as the user, but add the user to the group specified by the <option>-g</option> option or by the <option>GROUP</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para) groupadd.8.xml:240(para)
msgid "The default behavior (if the <option>-g</option>, <option>-N</option>, and <option>-U</option> options are not specified) is defined by the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</filename>."
msgstr ""
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid "This option is only valid in combination with the <option>-u</option> option."
msgstr ""
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid "The encrypted password, as returned by <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to disable the password."
msgstr ""
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr ""
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr ""
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid "System users will be created with no aging information in <filename>/etc/shadow</filename>, and their numeric identifiers are chosen in the <option>SYS_UID_MIN</option>-<option>SYS_UID_MAX</option> range, defined in <filename>/etc/login.defs</filename>, instead of <option>UID_MIN</option>-<option>UID_MAX</option> (and their <option>GID</option> counterparts for the creation of groups)."
msgstr ""
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
msgid "Note that <command>useradd</command> will not create a home directory for such a user, regardless of the default setting in <filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>). You have to specify the <option>-m</option> options if you want a home directory for a system account to be created."
msgstr ""
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid "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 specified by the <option>SHELL</option> variable in <filename>/etc/default/useradd</filename>, or an empty string by default."
msgstr ""
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid "The numerical value of the user's ID. This value must be unique, unless the <option>-o</option> option is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal to <option>UID_MIN</option> and greater than every other user."
msgstr ""
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid "See also the <option>-r</option> option and the <option>UID_MAX</option> description."
msgstr ""
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr ""
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid "Create a group with the same name as the user, and add the user to this group."
msgstr ""
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid "The SELinux user for the user's login. The default is to leave this field blank, which causes the system to select the default SELinux user."
msgstr ""
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr ""
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid "When invoked with only the <option>-D</option> option, <command>useradd</command> will display the current default values. When invoked with <option>-D</option> plus other options, <command>useradd</command> will update the default values for the specified options. Valid default-changing options are:"
msgstr ""
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid "The path prefix for a new user's home directory. The user's name will be affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new user's home directory name, if the <option>-d</option> option is not used when creating a new account."
msgstr ""
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid "This option sets the <option>HOME</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr ""
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid "This option sets the <option>EXPIRE</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid "The number of days after a password has expired before the account will be disabled."
msgstr ""
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid "This option sets the <option>INACTIVE</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid "The group name or ID for a new user's initial group (when the <option>-N/--no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> variable is set to <replaceable>no</replaceable> in <filename>/etc/login.defs</filename>). The named group must exist, and a numerical group ID must have an existing entry."
msgstr ""
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid "This option sets the <option>GROUP</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr ""
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid "This option sets the <option>SHELL</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr ""
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid "The system administrator is responsible for placing the default user files in the <filename>/etc/skel/</filename> directory (or any other skeleton directory specified in <filename>/etc/default/useradd</filename> or on the command line)."
msgstr ""
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid "You may not add a user to a NIS or LDAP group. This must be performed on the corresponding server."
msgstr ""
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid "Similarly, if the username already exists in an external user database such as NIS or LDAP, <command>useradd</command> will deny the user account creation request."
msgstr ""
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid "Usernames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes. They can end with a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr ""
@@ -1191,7 +1211,7 @@ msgid "<option>PASS_MIN_DAYS</option> (number)"
msgstr ""
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para) newusers.8.xml:34(para) login.defs.5.xml:34(para)
-msgid "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)."
+msgid "The minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected. If not specified, 0 will be assumed (which disables the restriction)."
msgstr ""
#: useradd.8.xml:32(term) pwconv.8.xml:32(term) pwck.8.xml:32(term) newusers.8.xml:32(term) login.defs.5.xml:32(term)
@@ -1278,67 +1298,75 @@ msgstr ""
msgid "It is also used by <command>pam_umask</command> as the default umask value."
msgstr ""
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr ""
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr ""
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+msgid "<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+
+#: useradd.8.xml:748(para)
+msgid "Run-part files to execute during user addition. The environment variable <command>ACTION</command> will be populated with useradd and <command>SUBJECT</command> with the <command>username</command>. <filename>useradd-pre.d</filename> will be executed prior to any user addition. <filename>useradd-post.d</filename> will execute after user addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr ""
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr ""
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum) pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable) grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable) groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum) pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable) grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable) groupadd.8.xml:329(replaceable)
msgid "3"
msgstr ""
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr ""
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable) passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable) groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable) passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable) groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr ""
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr ""
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr ""
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable) groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable) groupadd.8.xml:341(replaceable)
msgid "9"
msgstr ""
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr ""
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr ""
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
msgid "14"
msgstr ""
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid "The <command>useradd</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <phrase condition=\"subids\"><citerefentry><refentrytitle>subgid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>subuid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, </phrase><citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -1350,11 +1378,11 @@ msgstr ""
msgid "suauth"
msgstr ""
-#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum) pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum) passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable) login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum) limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum) grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum) pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum) passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable) login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum) limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum) grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr ""
-#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo) porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo) login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo) limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo) faillog.5.xml:59(refmiscinfo)
+#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo) porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo) login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo) limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo) faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
msgstr ""
@@ -1439,7 +1467,7 @@ msgstr ""
msgid "\n # sample /etc/suauth file\n #\n # A couple of privileged usernames may\n # su to root with their own password.\n #\n root:chris,birddog:OWNPASS\n #\n # Anyone else may not su to root unless in\n # group wheel. This is how BSD does things.\n #\n root:ALL EXCEPT GROUP wheel:DENY\n #\n # Perhaps terry and birddog are accounts\n # owned by the same person.\n # Access can be arranged between them\n # with no password.\n #\n terry:birddog:NOPASS\n birddog:terry:NOPASS\n #\n "
msgstr ""
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr ""
@@ -1463,7 +1491,7 @@ msgstr ""
msgid "Creation, 1989"
msgstr ""
-#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command) login.defs.5.xml:456(term)
+#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command) login.defs.5.xml:460(term)
msgid "su"
msgstr ""
@@ -1853,7 +1881,7 @@ msgstr ""
msgid "<citerefentry><refentrytitle>id</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></citerefentry><phrase condition=\"gshadow\">, <citerefentry><refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum></citerefentry></phrase>."
msgstr ""
-#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname) shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname) pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname) shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname) pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr ""
@@ -1906,7 +1934,7 @@ msgid "date of last password change"
msgstr ""
#: shadow.5.xml:130(para)
-msgid "The date of the last password change, expressed as the number of days since Jan 1, 1970."
+msgid "The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:134(para)
@@ -1926,7 +1954,7 @@ msgid "The minimum password age is the number of days the user will have to wait
msgstr ""
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
#: shadow.5.xml:160(emphasis)
@@ -1970,7 +1998,7 @@ msgid "The number of days after a password has expired (see the maximum password
msgstr ""
#: shadow.5.xml:209(para)
-msgid "After expiration of the password and this expiration period is elapsed, no login is possible using the current user's password. The user should contact her administrator."
+msgid "After expiration of the password and this expiration period is elapsed, no login is possible for the user. The user should contact her administrator."
msgstr ""
#: shadow.5.xml:214(para)
@@ -1982,7 +2010,7 @@ msgid "account expiration date"
msgstr ""
#: shadow.5.xml:225(para)
-msgid "The date of expiration of the account, expressed as the number of days since Jan 1, 1970."
+msgid "The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:229(para)
@@ -2013,7 +2041,7 @@ msgstr ""
msgid "Backup file for /etc/shadow."
msgstr ""
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid "Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools."
msgstr ""
@@ -2174,19 +2202,19 @@ msgstr ""
msgid "<citerefentry><refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>."
msgstr ""
-#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname) pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname) pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr ""
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr ""
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr ""
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr ""
@@ -2254,155 +2282,163 @@ msgstr ""
msgid "<citerefentry><refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum></citerefentry><phrase condition=\"tcb\">, <citerefentry><refentrytitle>tcb_convert</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
msgstr ""
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command) login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command) login.defs.5.xml:434(term)
msgid "pwck"
msgstr ""
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr ""
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle) passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle) passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle) passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle) passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr ""
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid "The <command>pwck</command> command verifies the integrity of the users and authentication information. It checks that all entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb\">(or the files in <filename>/etc/tcb</filename>, when <option>USE_TCB</option> is enabled)</phrase> have the proper format and contain valid data. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors."
msgstr ""
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr ""
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr ""
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr ""
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr ""
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr ""
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr ""
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr ""
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid "<filename>shadow</filename> checks are enabled when a second file parameter is specified or when <filename>/etc/shadow</filename> exists on the system."
msgstr ""
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr ""
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid "every passwd entry has a matching shadow entry, and every shadow entry has a matching passwd entry"
msgstr ""
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr ""
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr ""
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr ""
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr ""
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid "The checks for correct number of fields and unique user name are fatal. If the entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made. All other errors are warning and the user is encouraged to run the <command>usermod</command> command to correct the error."
msgstr ""
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid "The commands which operate on the <filename>/etc/passwd</filename> file are not able to alter corrupted or duplicated entries. <command>pwck</command> should be used in those circumstances to remove the offending entry."
msgstr ""
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid "The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr ""
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr ""
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid "Report errors only. The warnings which do not require any action from the user won't be displayed."
msgstr ""
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr ""
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr ""
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr ""
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename> by UID."
msgstr ""
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr ""
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid "By default, <command>pwck</command> operates on the files <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb\"> (or the files in <filename>/etc/tcb</filename>)</phrase>. The user may select alternate files with the <replaceable>passwd</replaceable> and <replaceable>shadow</replaceable> parameters."
msgstr ""
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
msgid "Note that when <option>USE_TCB</option> is enabled, you cannot specify an alternative <replaceable>shadow</replaceable> file. In future releases, this parameter could be replaced by an alternate TCB directory."
msgstr ""
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr ""
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid "If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this. The result is that pwck will not emit a spurious warning for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr ""
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr ""
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr ""
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr ""
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr ""
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid "The <command>pwck</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -2512,30 +2548,30 @@ msgid "A <emphasis>password</emphasis> field which starts with an exclamation ma
msgstr ""
#: passwd.5.xml:138(para)
-msgid "The comment field is used by various system utilities, such as <citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></citerefentry>."
+msgid "The comment field, also known as the gecos field, is used by various system utilities, such as <citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities."
msgstr ""
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid "The home directory field provides the name of the initial working directory. The <command>login</command> program uses this information to set the value of the <envar>$HOME</envar> environmental variable."
msgstr ""
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid "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>login</command> program uses this information to set the value of the <envar>$SHELL</envar> environmental variable. If this field is empty, it defaults to the value <filename>/bin/sh</filename>."
msgstr ""
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr ""
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr ""
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr ""
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid "<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>getpwnam</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -2663,7 +2699,7 @@ msgstr ""
msgid "<option>-n</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</replaceable>"
msgstr ""
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid "Set the minimum number of days between password changes to <replaceable>MIN_DAYS</replaceable>. A value of zero for this field indicates that the user may change their password at any time."
msgstr ""
@@ -2707,7 +2743,7 @@ msgstr ""
msgid "Set the maximum number of days a password remains valid. After <replaceable>MAX_DAYS</replaceable>, the password is required to be changed."
msgstr ""
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid "Passing the number <emphasis remap=\"I\">-1</emphasis> as <replaceable>MAX_DAYS</replaceable> will remove checking a password's validity."
msgstr ""
@@ -2732,14 +2768,14 @@ msgid "This defines the system default encryption algorithm for encrypting passw
msgstr ""
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para) gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
-msgid "It can take one of these values: <replaceable>DES</replaceable> (default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></phrase>."
+msgid "It can take one of these values: <replaceable>DES</replaceable> (default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></phrase>. MD5 and DES should not be used for new hashes, see <refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for recommendations."
msgstr ""
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para) gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para) gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid "Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para) newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para) login.defs.5.xml:47(para) login.defs.5.xml:53(para) login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para) gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para) chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para) chgpasswd.8.xml:62(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para) newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para) login.defs.5.xml:50(para) login.defs.5.xml:53(para) login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para) gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para) chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para) chgpasswd.8.xml:62(para)
msgid "Note: This only affect the generation of group passwords. The generation of user passwords is done by PAM and subject to the PAM configuration. It is recommended to set this variable consistently with the PAM configuration."
msgstr ""
@@ -2812,7 +2848,7 @@ msgid "With a lot of rounds, it is more difficult to brute forcing the password.
msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para) gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
-msgid "If not specified, the libc will choose the default number of rounds (5000)."
+msgid "If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware."
msgstr ""
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para) gpasswd.1.xml:49(para) chpasswd.8.xml:49(para) chgpasswd.8.xml:49(para)
@@ -2835,7 +2871,7 @@ msgstr ""
msgid "PAM configuration for <command>passwd</command>."
msgstr ""
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr ""
@@ -2895,7 +2931,7 @@ msgstr ""
msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr ""
-#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname) newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname) newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr ""
@@ -3000,94 +3036,94 @@ msgid "This field is used to define the home directory of the user."
msgstr ""
#: newusers.8.xml:219(para)
-msgid "If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group."
+msgid "If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group. Note that <emphasis>newusers does not create parent directories </emphasis> of the new user's home directory. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified."
msgstr ""
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid "If the home directory of an existing user is changed, <command>newusers</command> does not move or copy the content of the old directory to the new location. This should be done manually."
msgstr ""
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr ""
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid "This field defines the shell of the user. No checks are performed on this field."
msgstr ""
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid "<command>newusers</command> first tries to create or change all the specified users, and then write these changes to the user or group databases. If an error occurs (except in the final writes to the databases), no changes are committed to the databases."
msgstr ""
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid "During this first pass, users are created with a locked password (and passwords are not changed for the users which are not created). A second pass is used to update the passwords using PAM. Failures to update a password are reported, but will not stop the other password updates."
msgstr ""
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid "This command is intended to be used in a large system environment where many accounts are updated at a single time."
msgstr ""
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr ""
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr ""
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid "The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods."
msgstr ""
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid "System users will be created with no aging information in <filename>/etc/shadow</filename>, and their numeric identifiers are chosen in the <option>SYS_UID_MIN</option>-<option>SYS_UID_MAX</option> range, defined in <filename>login.defs</filename>, instead of <option>UID_MIN</option>-<option>UID_MAX</option> (and their <option>GID</option> counterparts for the creation of groups)."
msgstr ""
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr ""
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid "The value 0 means that the system will choose the default number of rounds for the crypt method (5000)."
msgstr ""
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid "A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
msgstr ""
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid "The input file must be protected since it contains unencrypted passwords."
msgstr ""
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid "You should make sure the passwords and the encryption method respect the system's password policy."
msgstr ""
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr ""
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr ""
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
msgid "<citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <phrase condition=\"subids\"><citerefentry><refentrytitle>subgid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>subuid</refentrytitle><manvolnum>5</manvolnum></citerefentry>, </phrase><citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -3099,7 +3135,7 @@ msgstr ""
msgid "log in to a new group"
msgstr ""
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable) groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable) groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr ""
@@ -3139,27 +3175,27 @@ msgstr ""
msgid "List of current login sessions."
msgstr ""
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr ""
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr ""
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid "The <filename>/etc/login.defs</filename> file defines the site-specific configuration for the shadow password suite. This file is required. Absence of this file will not prevent system operation, but will probably result in undesirable operation."
msgstr ""
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid "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."
msgstr ""
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid "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 <replaceable>yes</replaceable> or <replaceable>no</replaceable>. An undefined boolean parameter or one with a value other than these will be given a <replaceable>no</replaceable> value. Numbers (both regular and long) may be either decimal values, octal values (precede the value with <replaceable>0</replaceable>) or hexadecimal values (precede the value with <replaceable>0x</replaceable>). The maximum value of the regular and long numeric parameters is machine-dependent."
msgstr ""
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr ""
@@ -3231,6 +3267,18 @@ msgstr ""
msgid "If defined, login failures will be logged in this file in a utmp format."
msgstr ""
+#: login.defs.5.xml:32(term)
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr ""
+
+#: login.defs.5.xml:34(para)
+msgid "Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+msgid "Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to see the possible algorithms that are available in your system."
+msgstr ""
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
msgstr ""
@@ -3319,7 +3367,7 @@ msgstr ""
msgid "If defined, name of file whose presence will inhibit non-root logins. The contents of this file should be a message indicating why logins are inhibited."
msgstr ""
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid "<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and <option>PASS_WARN_AGE</option> are only used at the time of account creation. Any changes to these settings won't affect existing accounts."
msgstr ""
@@ -3371,159 +3419,159 @@ msgstr ""
msgid "Default <command>ulimit</command> value."
msgstr ""
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr ""
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid "The following cross references show which programs in the shadow password suite use which parameters."
msgstr ""
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle) chage.1.xml:65(refname) chage.1.xml:70(command)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle) chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr ""
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase) login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase) login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr ""
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle) chfn.1.xml:67(refname) chfn.1.xml:73(command)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle) chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr ""
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid "<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase condition=\"no_pam\">LOGIN_STRING</phrase>"
msgstr ""
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle) chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle) chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr ""
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle) chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle) chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr ""
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr ""
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr ""
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle) chsh.1.xml:67(refname) chsh.1.xml:73(command)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle) chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr ""
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr ""
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle) gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle) gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr ""
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle) groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle) groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr ""
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr ""
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle) groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle) groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr ""
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para) login.defs.5.xml:333(para) login.defs.5.xml:340(para) login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para) login.defs.5.xml:337(para) login.defs.5.xml:344(para) login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr ""
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle) groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle) groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr ""
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle) groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle) groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr ""
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle) grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle) grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr ""
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle) lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle) lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr ""
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle) login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command) login.1.xml:118(command)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle) login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command) login.1.xml:118(command)
msgid "login"
msgstr ""
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
msgid "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME <phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE</phrase> ERASECHAR FAIL_DELAY <phrase condition=\"no_pam\">FAILLOG_ENAB</phrase> FAKE_SHELL <phrase condition=\"no_pam\">FTMP_FILE</phrase> HUSHLOGIN_FILE <phrase condition=\"no_pam\">ISSUE_FILE</phrase> KILLCHAR <phrase condition=\"no_pam\">LASTLOG_ENAB LASTLOG_UID_MAX</phrase> LOGIN_RETRIES <phrase condition=\"no_pam\">LOGIN_STRING</phrase> LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB <phrase condition=\"no_pam\">MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB</phrase> TTYGROUP TTYPERM TTYTYPE_FILE <phrase condition=\"no_pam\">ULIMIT UMASK</phrase> USERGROUPS_ENAB"
msgstr ""
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr ""
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr ""
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
msgid "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase> SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
msgstr ""
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME <phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH ENV_SUPATH <phrase condition=\"no_pam\">ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB</phrase> SULOG_FILE SU_NAME <phrase condition=\"no_pam\">SU_WHEEL_ONLY</phrase> SYSLOG_SU_ENAB <phrase condition=\"no_pam\">USERGROUPS_ENAB</phrase>"
msgstr ""
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr ""
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr ""
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
msgid "CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid "Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is no longer used by <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, or less used by <citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></citerefentry>, and <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Please refer to the corresponding PAM configuration files instead."
msgstr ""
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid "<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -3932,7 +3980,7 @@ msgstr ""
msgid "Only the entries for the current users of the system will be displayed. Other entries may exist for users that were deleted previously."
msgstr ""
-#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title) chage.1.xml:237(title)
+#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title) chage.1.xml:247(title)
msgid "NOTE"
msgstr ""
@@ -3940,7 +3988,7 @@ msgstr ""
msgid "The <filename>lastlog</filename> file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk is usually much smaller than the one shown by \"<command>ls -l</command>\" (which can indicate a really big file if you have in <filename>passwd</filename> users with a high UID). You can display its real size with \"<command>ls -s</command>\"."
msgstr ""
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr ""
@@ -3952,6 +4000,10 @@ msgstr ""
msgid "Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i.e. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171-799)."
msgstr ""
+#: lastlog.8.xml:236(para)
+msgid "Having high UIDs can create problems when handling the <placeholder-1/> with external tools. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -4028,75 +4080,83 @@ msgstr ""
msgid "<citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>grpconv</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum></citerefentry>."
msgstr ""
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr ""
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid "The <command>grpck</command> command verifies the integrity of the groups information. It checks that all entries in <filename>/etc/group</filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</filename></phrase> have the proper format and contain valid data. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors."
msgstr ""
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr ""
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid "a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/group</filename> only)</phrase>"
msgstr ""
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid "a valid list of members <phrase condition=\"gshadow\"> and administrators</phrase>"
msgstr ""
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid "a corresponding entry in the <filename>/etc/gshadow</filename> file (respectively <filename>/etc/group</filename> for the <filename>gshadow</filename> checks)"
msgstr ""
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid "The checks for correct number of fields and unique group name are fatal. If an entry has the wrong number of fields, the user will be prompted to delete the entire line. If the user does not answer affirmatively, all further checks are bypassed. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made. All other errors are warnings and the user is encouraged to run the <command>groupmod</command> command to correct the error."
msgstr ""
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid "The commands which operate on the <filename>/etc/group</filename><phrase condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and <filename>/etc/gshadow</filename> files</phrase> are not able to alter corrupted or duplicated entries. <command>grpck</command> should be used in those circumstances to remove the offending entries."
msgstr ""
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr ""
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid "Execute the <command>grpck</command> command in read-only mode. This causes all questions regarding changes to be answered <emphasis>no</emphasis> without user intervention."
msgstr ""
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid "Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</filename></phrase> by GID."
msgstr ""
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr ""
+
+#: grpck.8.xml:197(para)
+msgid "Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in <filename>/etc/group</filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid "By default, <command>grpck</command> operates on <filename>/etc/group</filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</filename></phrase>. The user may select alternate files with the <emphasis remap=\"I\">group</emphasis><phrase condition=\"no_gshadow\">parameter.</phrase><phrase condition=\"gshadow\">and <emphasis remap=\"I\">shadow</emphasis> parameters.</phrase>"
msgstr ""
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr ""
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr ""
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr ""
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr ""
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid "The <command>grpck</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <phrase condition=\"gshadow\"><citerefentry><refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>, </citerefentry>, </phrase><citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>."
msgstr ""
@@ -4140,95 +4200,111 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr ""
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
-msgid "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</replaceable>"
+#: groupmod.8.xml:96(term)
+msgid "<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</replaceable>"
msgstr ""
#: groupmod.8.xml:100(para)
+msgid "If group members are specified with -U, append them to the existing member list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</replaceable>"
+msgstr ""
+
+#: groupmod.8.xml:109(para)
msgid "The group ID of the given <replaceable>GROUP</replaceable> will be changed to <replaceable>GID</replaceable>."
msgstr ""
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid "The value of <replaceable>GID</replaceable> must be a non-negative decimal integer. This value must be unique, unless the <option>-o</option> option is used."
msgstr ""
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid "Users who use the group as primary group will be updated to keep the group as their primary group."
msgstr ""
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid "Any files that have the old group ID and must continue to belong to <replaceable>GROUP</replaceable>, must have their group ID changed manually."
msgstr ""
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid "No checks will be performed with regard to the <option>GID_MIN</option>, <option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or <option>SYS_GID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid "<option>-n</option>, <option>--new-name</option>&nbsp;<replaceable>NEW_GROUP</replaceable>"
msgstr ""
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid "The name of the group will be changed from <replaceable>GROUP</replaceable> to <replaceable>NEW_GROUP</replaceable> name."
msgstr ""
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid "When used with the <option>-g</option> option, allow to change the group <replaceable>GID</replaceable> to a non-unique value."
msgstr ""
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr ""
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+msgid "A list of usernames to add as members of the group."
+msgstr ""
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
msgid "E_USAGE: invalid command syntax"
msgstr ""
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
msgid "E_BAD_ARG: invalid argument to option"
msgstr ""
-#: groupmod.8.xml:277(para)
-msgid "E_GID_IN_USE: specified group doesn't exist"
+#: groupmod.8.xml:302(para)
+msgid "E_GID_IN_USE: group id already in use"
msgstr ""
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr ""
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
msgid "E_NAME_IN_USE: group name already in use"
msgstr ""
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
msgid "E_GRP_UPDATE: can't update group file"
msgstr ""
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
msgid "11"
msgstr ""
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr ""
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid "E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid "The <command>groupmod</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -4320,7 +4396,7 @@ msgstr ""
msgid "The superuser can specify which group membership list to modify."
msgstr ""
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr ""
@@ -4369,23 +4445,27 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr ""
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid "This option forces the removal of the group, even if there's some user having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid "You may not remove the primary group of any existing user. You must remove the user before you remove the group."
msgstr ""
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid "You should manually check all file systems to ensure that no files remain owned by this group."
msgstr ""
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr ""
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid "The <command>groupdel</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -4437,35 +4517,35 @@ msgstr ""
msgid "The numeric identifiers of new system groups are chosen in the <option>SYS_GID_MIN</option>-<option>SYS_GID_MAX</option> range, defined in <filename>login.defs</filename>, instead of <option>GID_MIN</option>-<option>GID_MAX</option>."
msgstr ""
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid "Groupnames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes. They can end with a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?"
msgstr ""
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid "You may not add a NIS or LDAP group. This must be performed on the corresponding server."
msgstr ""
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid "If the groupname already exists in an external group database such as NIS or LDAP, <command>groupadd</command> will deny the group creation request."
msgstr ""
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
+#: groupadd.8.xml:337(para)
+msgid "GID is already used (when called without <option>-o</option>)"
msgstr ""
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
+#: groupadd.8.xml:343(para)
+msgid "group name is already used"
msgstr ""
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid "The <command>groupadd</command> command exits with the following values: <placeholder-1/>"
msgstr ""
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum></citerefentry>."
msgstr ""
@@ -4734,7 +4814,7 @@ msgstr ""
msgid "Force a password change if the current user has an expired password."
msgstr ""
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid "<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>."
msgstr ""
@@ -4750,6 +4830,10 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr ""
+#: chsh.1.xml:123(para)
+msgid "The name of the user's new login shell. Setting this field to blank causes the system to select the default login shell."
+msgstr ""
+
#: chsh.1.xml:130(para)
msgid "If the <option>-s</option> option is not selected, <command>chsh</command> operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the shell, or leave the line blank to use the current one. The current shell is displayed between a pair of <emphasis>[ ]</emphasis> marks."
msgstr ""
@@ -4983,86 +5067,103 @@ msgid "<option>-d</option>, <option>--lastday</option>&nbsp;<replaceable>LAST_DA
msgstr ""
#: chage.1.xml:101(para)
-msgid "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)."
+msgid "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). If the <replaceable>LAST_DAY</replaceable> is set to <emphasis>0</emphasis> the user is forced to change his password on the next log on."
msgstr ""
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid "<option>-E</option>, <option>--expiredate</option>&nbsp;<replaceable>EXPIRE_DATE</replaceable>"
msgstr ""
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid "Set the date or number of days since January 1, 1970 on which the user's account will no longer be accessible. 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."
msgstr ""
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid "For example the following can be used to set an account to expire in 180 days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid "\n\t chage -E $(date -d +180days +%Y-%m-%d)\n\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid "Passing the number <emphasis remap=\"I\">-1</emphasis> as the <replaceable>EXPIRE_DATE</replaceable> will remove an account expiration date."
msgstr ""
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr ""
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid "<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</replaceable>"
msgstr ""
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid "Set the number of days of inactivity after a password has expired before the account is locked. The <replaceable>INACTIVE</replaceable> option is the number of days of inactivity. A user whose account is locked must contact the system administrator before being able to use the system again."
msgstr ""
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid "Passing the number <emphasis remap=\"I\">-1</emphasis> as the <replaceable>INACTIVE</replaceable> will remove an account's inactivity."
msgstr ""
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr ""
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid "<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</replaceable>"
msgstr ""
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid "<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</replaceable>"
msgstr ""
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid "Set the maximum number of days during which a password is valid. When <replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> is less than the current day, the user will be required to change their password before being able to use their account. This occurrence can be planned for in advance by use of the <option>-W</option> option, which provides the user with advance warning."
msgstr ""
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid "<option>-W</option>, <option>--warndays</option>&nbsp;<replaceable>WARN_DAYS</replaceable>"
msgstr ""
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid "Set the number of days of warning before a password change is required. The <replaceable>WARN_DAYS</replaceable> option is the number of days prior to the password expiring that a user will be warned their password is about to expire."
msgstr ""
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid "If none of the options are selected, <command>chage</command> operates in an interactive fashion, prompting the user with the current values for all of the fields. Enter the new value to change the field, or leave the line blank to use the current value. The current value is displayed between a pair of <emphasis>[ ]</emphasis> marks."
msgstr ""
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid "The <command>chage</command> program requires a shadow password file to be available."
msgstr ""
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid "The chage program will report only the information from the shadow password file. This implies that configuration from other sources (e.g. LDAP or empty password hash field from the passwd file) that affect the user's login will not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid "The <command>chage</command> program will also not report any inconsistency between the shadow and passwd files (e.g. missing x in the passwd file). The <command>pwck</command> can be used to check for this kind of inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid "The <command>chage</command> command is restricted to the root user, except for the <option>-l</option> option, which may be used by an unprivileged user to determine when their password or account is due to expire."
msgstr ""
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr ""
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr ""
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid "The <command>chage</command> command exits with the following values: <placeholder-1/>"
msgstr ""
diff --git a/man/po/sv.po b/man/po/sv.po
index 06fdc728..87cae0de 100644
--- a/man/po/sv.po
+++ b/man/po/sv.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: man pages for shadow 4.0.18\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:41+0200\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
@@ -28,13 +28,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -48,12 +48,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -65,11 +65,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -81,12 +81,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -99,14 +99,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -120,13 +120,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -138,12 +138,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -155,13 +155,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -176,18 +176,18 @@ msgstr ""
# Daniel Nylander <po@danielnylander.se>, 2006.
#
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -196,10 +196,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -211,14 +211,14 @@ msgstr "Systemhanteringskommandon"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -244,9 +244,9 @@ msgstr "redigera lösenordet, grupp, skugglösenord eller skuggruppfil"
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -257,12 +257,12 @@ msgstr "flaggor"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -298,8 +298,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -323,23 +323,23 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "Redigera gruppdatabasen."
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
msgstr "Visa hjälpmeddelande och avsluta."
@@ -351,7 +351,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "Redigera lösenordsdatabasen."
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -359,13 +359,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "Tyst läge."
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HOME_DIR</"
@@ -377,13 +377,13 @@ msgstr ""
"<option>-d</option>, <option>--home</option>&nbsp;<replaceable>HEM_KAT</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
msgid ""
"Apply changes in the <replaceable>CHROOT_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>CHROOT_DIR</replaceable> "
@@ -408,26 +408,26 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr ""
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr ""
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -478,119 +478,119 @@ msgstr "HISTORIK"
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr ""
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "FILER"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "Gruppkontoinformation."
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "Säker gruppkontoinformation."
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "Användarkontoinformation."
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "Säker användarkontoinformation."
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "SE OCKSÃ…"
@@ -635,12 +635,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -651,11 +651,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -667,14 +667,14 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -723,8 +723,8 @@ msgstr ""
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -768,10 +768,11 @@ msgstr "användarens hemkatalog"
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -779,19 +780,19 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>UTGÃ…NGSDATUM</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
msgstr ""
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
msgstr ""
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
#, fuzzy
#| msgid ""
#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
@@ -803,7 +804,7 @@ msgstr ""
"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
"shadow</filename> efter UID."
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -811,7 +812,7 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
#, fuzzy
#| msgid ""
#| "The number of days after a password has expired before the account will "
@@ -823,13 +824,13 @@ msgstr ""
"Antalet dagar efter att ett lösenord har gått ut innan kontot kommer att "
"inaktiveras."
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
msgstr ""
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -837,25 +838,33 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GRUPP</"
"replaceable>"
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
msgstr ""
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
msgstr ""
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
msgstr ""
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -865,7 +874,7 @@ msgstr ""
"replaceable>[<emphasis remap=\"I\">,GRUPP2,...</emphasis>[<emphasis remap=\"I"
"\">,GRUPPN</emphasis>]]]"
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -873,7 +882,7 @@ msgid ""
"<option>-g</option> option."
msgstr ""
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -881,7 +890,7 @@ msgid ""
"supplementary group list."
msgstr ""
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -889,7 +898,7 @@ msgstr ""
"<option>-l</option>, <option>--login</option>&nbsp;"
"<replaceable>NYTT_INLOGGNINGSNAMN</replaceable>"
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -897,11 +906,11 @@ msgid ""
"renamed manually to reflect the new login name."
msgstr ""
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -911,24 +920,27 @@ msgstr ""
"krypterade lösenordet som effektivt inaktiverar lösenordet. Du kan inte "
"använda denna flagga med <option>-p</option> eller <option>-U</option>."
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
"<replaceable>1</replaceable>."
msgstr ""
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
@@ -936,25 +948,25 @@ msgid ""
"<option>--home</option>) option."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
"needed afterwards."
msgstr ""
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
msgstr ""
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -963,7 +975,7 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>LÖSENORD</"
"replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -972,7 +984,7 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>."
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -980,21 +992,21 @@ msgid ""
"listing the processes."
msgstr ""
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
"password database configured in your PAM configuration."
msgstr ""
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
msgstr ""
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -1006,8 +1018,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option>&nbsp;<replaceable>HEM_KAT</"
"replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -1016,7 +1028,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1025,13 +1037,13 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SKAL</"
"replaceable>"
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1039,41 +1051,49 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr ""
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
msgstr ""
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
"automatically."
msgstr ""
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
msgstr ""
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
"<option>SYS_UID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1083,7 +1103,7 @@ msgstr ""
"krypterade lösenordet. Du kan inte använda denna flagga med <option>-p</"
"option> eller <option>-L</option>."
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1091,7 +1111,7 @@ msgid ""
"from <filename>/etc/default/useradd</filename>)."
msgstr ""
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1103,24 +1123,24 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>NYCKEL</"
"replaceable>=<replaceable>VÄRDE</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
msgid ""
"No checks will be performed with regard to <option>SUB_UID_MIN</option>, "
"<option>SUB_UID_MAX</option>, or <option>SUB_UID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1132,11 +1152,11 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>NYCKEL</"
"replaceable>=<replaceable>VÄRDE</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1144,7 +1164,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1156,18 +1176,18 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>NYCKEL</"
"replaceable>=<replaceable>VÄRDE</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
msgid ""
"No checks will be performed with regard to <option>SUB_GID_MIN</option>, "
"<option>SUB_GID_MAX</option>, or <option>SUB_GID_COUNT</option> from /etc/"
"login.defs."
msgstr ""
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
@@ -1179,11 +1199,11 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>NYCKEL</"
"replaceable>=<replaceable>VÄRDE</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
msgid "Remove a range of subordinate gids from the user's account."
msgstr ""
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1191,7 +1211,7 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
#, fuzzy
#| msgid ""
#| "<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -1203,26 +1223,26 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SKAL</"
"replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
msgstr ""
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
msgstr ""
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "TÄNK PÅ"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
msgid ""
"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, the "
@@ -1231,13 +1251,13 @@ msgid ""
"uses utmp to check if the user is logged in."
msgstr ""
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
msgstr ""
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr ""
@@ -1478,50 +1498,50 @@ msgid ""
"algorithm: <placeholder-1/>"
msgstr ""
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr ""
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1582,7 +1602,7 @@ msgstr ""
"manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1605,7 +1625,8 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>userdel</command> är:"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1730,91 +1751,113 @@ msgid ""
"the user."
msgstr ""
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
+"shadow</filename> efter UID."
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "AVSLUTNINGSVÄRDEN"
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "lyckad"
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "kan inte uppdatera lösenordsfilen"
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "ogiltig kommandosyntax"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "angiven användare finns inte"
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "användaren är för närvarande inloggad"
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "kan inte uppdatera gruppfilen"
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "kan inte ta bort hemkatalogen"
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -1822,7 +1865,7 @@ msgstr ""
"Kommandot <command>userdel</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -1831,13 +1874,13 @@ msgid ""
"deletion of this account."
msgstr ""
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
msgstr ""
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
@@ -1845,7 +1888,7 @@ msgstr ""
"Du får inte ta bort några NIS-attribut på en NIS-klient. Detta måste "
"genomföras på NIS-servern."
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -1856,7 +1899,7 @@ msgid ""
"<option>-f</option> option can force the deletion of this group."
msgstr ""
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1916,7 +1959,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -1950,11 +1993,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>useradd</command> är:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -1995,50 +2038,50 @@ msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
#, fuzzy
#| msgid "<option>-d</option>, <option>--delete</option>"
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-d</option>, <option>--delete</option>"
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
#, fuzzy
msgid "See below, the subsection \"Changing the default values\"."
msgstr "Ändrar standardvärden"
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>, or an empty string (no expiry) by default."
msgstr ""
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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."
msgstr ""
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>, or -1 by default."
msgstr ""
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
msgstr ""
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2052,7 +2095,7 @@ msgid ""
"default."
msgstr ""
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2061,7 +2104,7 @@ msgid ""
"the initial group."
msgstr ""
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
#, fuzzy
#| msgid ""
#| "<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -2073,14 +2116,14 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SKAL</"
"replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
"<command>useradd</command>."
msgstr ""
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
@@ -2088,18 +2131,18 @@ msgid ""
"home</option>) option is specified."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
"or, by default, <filename>/etc/skel</filename>."
msgstr ""
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr ""
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2107,7 +2150,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>NYCKEL</"
"replaceable>=<replaceable>VÄRDE</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
#, fuzzy
#| msgid ""
#| "Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, "
@@ -2141,66 +2184,74 @@ msgstr ""
"<option>-K</option>&nbsp;<replaceable>UID_MAX</"
"replaceable>=<replaceable>499</replaceable>"
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
#, fuzzy
#| msgid "<option>-l</option>, <option>--list</option>"
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--list</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr ""
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
msgid ""
"By default, the user's entries in the lastlog and faillog databases are "
"reset to avoid reusing the entry from a previously deleted user."
msgstr ""
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
"the <option>-k</option> option) will be copied to the home directory."
msgstr ""
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
msgstr ""
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
"to <replaceable>yes</replaceable>."
msgstr ""
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
#, fuzzy
#| msgid "<option>-g</option>, <option>--group</option>"
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-g</option>, <option>--group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
"<option>GROUP</option> variable in <filename>/etc/default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2208,18 +2259,18 @@ msgid ""
"filename>."
msgstr ""
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr ""
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
#, fuzzy
#| msgid ""
#| "The encrypted password, as returned by "
@@ -2234,17 +2285,17 @@ msgstr ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>."
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
#, fuzzy
#| msgid "<option>-r</option>, <option>--reset</option>"
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr ""
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -2254,7 +2305,7 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
msgid ""
"Note that <command>useradd</command> will not create a home directory for "
"such a user, regardless of the default setting in <filename>/etc/login.defs</"
@@ -2263,7 +2314,7 @@ msgid ""
"created."
msgstr ""
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2271,7 +2322,7 @@ msgid ""
"filename>, or an empty string by default."
msgstr ""
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2279,7 +2330,7 @@ msgid ""
"<option>UID_MIN</option> and greater than every other user."
msgstr ""
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
#, fuzzy
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
@@ -2288,29 +2339,29 @@ msgstr ""
"Flaggorna <option>-r</option>, <option>-h</option> och <option>-f</option> "
"används endast när <command>login</command> har startats av root."
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
#, fuzzy
#| msgid "<option>-g</option>, <option>--group</option>"
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-g</option>, <option>--group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
msgstr ""
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
msgstr ""
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "Ändrar standardvärden"
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2318,7 +2369,7 @@ msgid ""
"default values for the specified options. Valid default-changing options are:"
msgstr ""
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2326,23 +2377,23 @@ msgid ""
"when creating a new account."
msgstr ""
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "Datumet när användarkontot blir inaktiverat."
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
@@ -2350,13 +2401,13 @@ msgstr ""
"Antalet dagar efter att ett lösenord har gått ut innan kontot kommer att "
"inaktiveras."
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2365,27 +2416,27 @@ msgid ""
"have an existing entry."
msgstr ""
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr ""
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
msgstr ""
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "NOTERINGAR"
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
#, fuzzy
#| msgid ""
#| "The system administrator is responsible for placing the default user "
@@ -2399,7 +2450,7 @@ msgstr ""
"Systemadministratören är ansvarig för att placera standardanvändarfiler i "
"katalogen <filename>/etc/skel/</filename>."
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
#, fuzzy
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
@@ -2408,14 +2459,14 @@ msgstr ""
"Du får inte lägga till en användare till en NIS-grupp. Detta måste "
"genomföras på NIS-servern."
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
"creation request."
msgstr ""
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
#, fuzzy
#| msgid ""
#| "Usernames must begin with a lower case letter or an underscore, and only "
@@ -2430,7 +2481,7 @@ msgstr ""
"endast innehålla gemener, understreck, minustecken och på slutet ett dollar-"
"tecken. I reguljära uttryckstermer: [a-z_][a-z0-9_-]*[$]"
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr ""
@@ -2518,7 +2569,7 @@ msgstr "PASS_MIN_DAYS (nummer)"
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
@@ -2656,71 +2707,93 @@ msgid ""
"It is also used by <command>pam_umask</command> as the default umask value."
msgstr ""
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "Standardvärden för skapande av konto."
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
+"shadow</filename> efter UID."
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "Katalog som innehåller standardfiler."
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "ogiltigt argument till flagga"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID används redan (och inget <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "angiven grupp finns inte"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "användarnamnet används redan"
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "kan inte skapa hemkatalog"
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "1"
msgid "14"
msgstr "1"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -2728,7 +2801,7 @@ msgstr ""
"Kommandot <command>useradd</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2798,17 +2871,17 @@ msgid "suauth"
msgstr "suauth"
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3001,7 +3074,7 @@ msgstr ""
" #\n"
" "
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "FEL"
@@ -3038,7 +3111,7 @@ msgid "Creation, 1989"
msgstr ""
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -3702,7 +3775,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -3796,7 +3869,7 @@ msgstr "dagar innan lösenordet får ändras"
#: shadow.5.xml:130(para)
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:134(para)
@@ -3822,7 +3895,7 @@ msgid ""
msgstr ""
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr ""
#: shadow.5.xml:160(emphasis)
@@ -3892,8 +3965,7 @@ msgstr ""
#: shadow.5.xml:209(para)
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
#: shadow.5.xml:214(para)
@@ -3910,7 +3982,7 @@ msgstr "Användarkontoinformation."
#: shadow.5.xml:225(para)
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr ""
#: shadow.5.xml:229(para)
@@ -3952,7 +4024,7 @@ msgstr "/etc/shadow"
msgid "Backup file for /etc/shadow."
msgstr ""
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4210,19 +4282,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -4379,26 +4451,26 @@ msgstr ""
"<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "validera integriteten för lösenordsfiler"
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -4409,73 +4481,73 @@ msgid ""
"which have other uncorrectable errors."
msgstr ""
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "Kontroller görs för att validera att varje post har:"
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "korrekt antal fält"
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
#, fuzzy
#| msgid "a unique user name"
msgid "a unique and valid user name"
msgstr "ett unikt användarnamn"
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "en giltig identifierare för användare och grupp"
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "en giltig primär grupp"
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "en giltig hemkatalog"
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "ett giltigt inloggningsskal"
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
msgstr ""
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr ""
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
msgstr ""
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr ""
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
#, fuzzy
#| msgid "the correct number of fields"
msgid "shadow entries have the correct number of fields"
msgstr "korrekt antal fält"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr ""
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
#, fuzzy
#| msgid "days before password may be changed"
msgid "the last password changes are not in the future"
msgstr "dagar innan lösenordet får ändras"
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -4486,14 +4558,14 @@ msgid ""
"<command>usermod</command> command to correct the error."
msgstr ""
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
"should be used in those circumstances to remove the offending entry."
msgstr ""
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
#, fuzzy
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
@@ -4501,33 +4573,33 @@ msgstr ""
"Flaggorna <option>-r</option>, <option>-h</option> och <option>-f</option> "
"används endast när <command>login</command> har startats av root."
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>pwck</command> är:"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
msgstr ""
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
#, fuzzy
#| msgid "<option>-r</option>, <option>--remove</option>"
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--remove</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "Starta kommandot <command>pwck</command> i skrivskyddat läge."
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--shadow</option>"
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -4535,13 +4607,13 @@ msgstr ""
"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
"shadow</filename> efter UID."
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -4550,36 +4622,49 @@ msgid ""
"<replaceable>shadow</replaceable> parameters."
msgstr ""
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
msgid ""
"Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
"alternative <replaceable>shadow</replaceable> file. In future releases, this "
"parameter could be replaced by an alternate TCB directory."
msgstr ""
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "CHFN_RESTRICT (sträng)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "en eller flera felaktiga lösenordsposter"
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "kan inte öppna lösenordsfiler"
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "kan inte låsa lösenordsfiler"
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "kan inte uppdatera lösenordsfiler"
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
#, fuzzy
#| msgid "can't open password files"
msgid "can't sort password files"
msgstr "kan inte öppna lösenordsfiler"
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -4587,7 +4672,7 @@ msgstr ""
"Kommandot <command>pwck</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -4789,20 +4874,26 @@ msgid ""
msgstr ""
#: passwd.5.xml:138(para)
+#, fuzzy
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
+"Referera till <citerefentry><refentrytitle>crypt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> för detaljer om hur "
+"denna sträng tolkas."
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
"of the <envar>$HOME</envar> environmental variable."
msgstr ""
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -4811,21 +4902,21 @@ msgid ""
"defaults to the value <filename>/bin/sh</filename>."
msgstr ""
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr ""
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
#, fuzzy
#| msgid "/etc/passwd"
msgid "/etc/passwd-"
msgstr "/etc/passwd"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr ""
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -5130,7 +5221,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAGAR</"
"replaceable>"
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -5234,7 +5325,7 @@ msgstr ""
"Sätter maximalt antal dagar som ett lösenord ska vara giltigt. Efter "
"<replaceable>MAX_DAGAR</replaceable> krävs det att lösenordet ändras."
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -5295,24 +5386,26 @@ msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"Exempel: <option>-K</option>&nbsp;<replaceable>GID_MIN</"
"replaceable>=<replaceable>100</replaceable>&nbsp;<option>-K</option>&nbsp;"
"<replaceable>GID_MAX</replaceable>=<replaceable>499</replaceable>"
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr ""
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -5424,7 +5517,8 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr ""
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para)
@@ -5457,7 +5551,7 @@ msgstr "/etc/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr ""
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "Ã¥tkomst nekad"
@@ -5572,7 +5666,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "Kommandot <command>nologin</command> dök upp i BSD 4.4."
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -5719,27 +5813,33 @@ msgstr ""
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
"location. This should be done manually."
msgstr ""
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr ""
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
msgstr ""
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -5747,7 +5847,7 @@ msgid ""
"no changes are committed to the databases."
msgstr ""
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -5755,7 +5855,7 @@ msgid ""
"password are reported, but will not stop the other password updates."
msgstr ""
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
@@ -5763,29 +5863,29 @@ msgstr ""
"Detta kommando är tänkt att användas i större systemmiljöer där många konton "
"uppdateras på samma gång."
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
#, fuzzy
#| msgid ""
#| "The options which apply to the <command>usermod</command> command are:"
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>usermod</command> är:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
#, fuzzy
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-e</option>, <option>--encrypted</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
msgstr ""
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -5795,59 +5895,59 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
#, fuzzy
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr ""
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
msgstr ""
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr ""
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr ""
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
msgstr ""
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr ""
"Inmatningsfilen måste skyddas eftersom den innehåller okrypterade lösenord."
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
msgstr ""
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
#, fuzzy
#| msgid "/etc/passwd"
msgid "/etc/pam.d/newusers"
msgstr "/etc/passwd"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr ""
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></"
@@ -5886,7 +5986,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr "logga in i en ny grupp"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "grupp"
@@ -5978,15 +6078,15 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "Lista på aktuella inloggningssessioner."
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr ""
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -5994,7 +6094,7 @@ msgid ""
"undesirable operation."
msgstr ""
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -6003,7 +6103,7 @@ msgid ""
"the first non-white character of the line."
msgstr ""
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -6016,7 +6116,7 @@ msgid ""
"and long numeric parameters is machine-dependent."
msgstr ""
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "Följande konfigurationsposter tillhandahålls:"
@@ -6124,6 +6224,30 @@ msgid ""
"If defined, login failures will be logged in this file in a utmp format."
msgstr ""
+#: login.defs.5.xml:32(term)
+#, fuzzy
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "MAIL_DIR (sträng)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"Referera till <citerefentry><refentrytitle>crypt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> för detaljer om hur "
+"denna sträng tolkas."
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
#, fuzzy
msgid "<option>HUSHLOGIN_FILE</option> (string)"
@@ -6238,7 +6362,7 @@ msgid ""
"inhibited."
msgstr ""
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
#, fuzzy
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
@@ -6317,130 +6441,130 @@ msgstr "UID_MIN (nummer)"
msgid "Default <command>ulimit</command> value."
msgstr ""
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr ""
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
msgstr ""
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr ""
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
msgstr ""
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr ""
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr ""
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
#, fuzzy
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHFN_AUTH CHFN_RESTRICT"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
#, fuzzy
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr ""
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE</"
@@ -6455,17 +6579,17 @@ msgid ""
"<phrase condition=\"no_pam\">ULIMIT UMASK</phrase> USERGROUPS_ENAB"
msgstr ""
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
#, fuzzy
#| msgid "newgrp"
msgid "newgrp / sg"
msgstr "newgrp"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr ""
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
msgid ""
"ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -6477,20 +6601,20 @@ msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
msgstr ""
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
#, fuzzy
#| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
msgid ""
@@ -6498,7 +6622,7 @@ msgid ""
"phrase>"
msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -6508,16 +6632,16 @@ msgid ""
"\">USERGROUPS_ENAB</phrase>"
msgstr ""
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
#, fuzzy
msgid "sulogin"
msgstr "login"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr ""
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
msgid ""
"CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR "
@@ -6529,13 +6653,13 @@ msgstr ""
"GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN "
"UMASK"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr ""
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
msgid ""
@@ -6543,7 +6667,7 @@ msgid ""
"\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6569,7 +6693,7 @@ msgstr ""
"citerefentry>, <citerefentry><refentrytitle>usermod</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry>."
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -7217,7 +7341,7 @@ msgid ""
msgstr ""
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "NOTERA"
@@ -7231,7 +7355,7 @@ msgid ""
"its real size with \"<command>ls -s</command>\"."
msgstr ""
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -7247,6 +7371,14 @@ msgid ""
"processes entries with UIDs 171-799)."
msgstr ""
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -7385,11 +7517,11 @@ msgstr ""
"<citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>."
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "validera integriteten för gruppfiler"
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -7399,13 +7531,13 @@ msgid ""
"other uncorrectable errors."
msgstr ""
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
#, fuzzy
#| msgid "a unique group name"
msgid "a unique and valid group name"
msgstr "ett unikt gruppnamn"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
#, fuzzy
#| msgid ""
#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
@@ -7417,7 +7549,7 @@ msgstr ""
"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
"shadow</filename> efter UID."
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
#, fuzzy
#| msgid "a valid list of members and administrators"
msgid ""
@@ -7425,14 +7557,14 @@ msgid ""
"phrase>"
msgstr "en giltig lista med medlemmar och administratörer"
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
"filename> checks)"
msgstr ""
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -7443,7 +7575,7 @@ msgid ""
"command to correct the error."
msgstr ""
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -7452,20 +7584,20 @@ msgid ""
"those circumstances to remove the offending entries."
msgstr ""
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
#, fuzzy
#| msgid "The options which apply to the <command>pwck</command> command are:"
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>pwck</command> är:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
"without user intervention."
msgstr ""
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
#, fuzzy
#| msgid ""
#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
@@ -7477,7 +7609,20 @@ msgstr ""
"Sorterar poster i <filename>/etc/passwd</filename> och <filename>/etc/"
"shadow</filename> efter UID."
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-q</option>, <option>--quiet</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-q</option>, <option>--quiet</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
msgid ""
"By default, <command>grpck</command> operates on <filename>/etc/group</"
"filename><phrase condition=\"gshadow\">and <filename>/etc/gshadow</"
@@ -7487,23 +7632,23 @@ msgid ""
"emphasis> parameters.</phrase>"
msgstr ""
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "en eller flera felaktiga grupposter"
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "kan inte öppna gruppfiler"
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "kan inte låsa gruppfiler"
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "kan inte uppdatera gruppfiler"
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7511,7 +7656,7 @@ msgstr ""
"Kommandot <command>grpck</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
#, fuzzy
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
@@ -7600,7 +7745,25 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>groupmod</command> är:"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
+msgid ""
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:100(para)
+msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
@@ -7608,39 +7771,39 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
-#: groupmod.8.xml:100(para)
+#: groupmod.8.xml:109(para)
msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
msgstr ""
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
"used."
msgstr ""
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
msgstr ""
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
msgstr ""
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
msgid ""
"No checks will be performed with regard to the <option>GID_MIN</option>, "
"<option>GID_MAX</option>, <option>SYS_GID_MIN</option>, or "
"<option>SYS_GID_MAX</option> from <filename>/etc/login.defs</filename>."
msgstr ""
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -7648,13 +7811,13 @@ msgstr ""
"<option>-n</option>, <option>--new-name</option>&nbsp;<replaceable>NY_GRUPP</"
"replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
msgstr ""
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
#, fuzzy
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
@@ -7663,71 +7826,81 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
"replaceable>"
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-q</option>, <option>--quiet</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-q</option>, <option>--quiet</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+msgid "A list of usernames to add as members of the group."
+msgstr ""
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "ogiltig kommandosyntax"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "ogiltigt argument till flagga"
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "angiven grupp finns inte"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "gruppnamnet används redan"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "angiven grupp finns inte"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "gruppnamnet används redan"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "kan inte uppdatera gruppfilen"
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
@@ -7735,7 +7908,7 @@ msgstr ""
"Kommandot <command>groupmod</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -7917,7 +8090,7 @@ msgstr ""
msgid "The superuser can specify which group membership list to modify."
msgstr "Superanvändaren kan ange vilken grupps medlemslista som ska ändras."
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -8019,7 +8192,13 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>groupmod</command> är:"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
@@ -8027,17 +8206,17 @@ msgstr ""
"Du får inte ta bort den primära gruppen för någon existerande användare. Du "
"måste ta bort användaren innan du tar bort gruppen."
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
msgstr ""
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "kan inte ta bort användarens primära grupp"
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8045,7 +8224,7 @@ msgstr ""
"Kommandot <command>groupdel</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -8186,7 +8365,7 @@ msgid ""
"<option>GID_MAX</option>."
msgstr ""
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
#, fuzzy
#| msgid ""
#| "Usernames must begin with a lower case letter or an underscore, and only "
@@ -8201,11 +8380,11 @@ msgstr ""
"endast innehålla gemener, understreck, minustecken och på slutet ett dollar-"
"tecken. I reguljära uttryckstermer: [a-z_][a-z0-9_-]*[$]"
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr ""
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
#, fuzzy
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
@@ -8214,21 +8393,25 @@ msgstr ""
"Du får inte lägga till en användare till en NIS-grupp. Detta måste "
"genomföras på NIS-servern."
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
msgstr ""
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "GID inte unikt (när <option>-o</option> inte används)"
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID används redan (och inget <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr "gruppnamn inte unikt"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "gruppnamnet används redan"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
@@ -8236,7 +8419,7 @@ msgstr ""
"Kommandot <command>groupadd</command> avslutas med följande värden: "
"<placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8761,7 +8944,7 @@ msgstr "kontrollera och upprätthåll policy för lösenordsutgång"
msgid "Force a password change if the current user has an expired password."
msgstr ""
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -8787,6 +8970,12 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "Flaggorna som gäller för kommandot <command>chsh</command> är:"
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -9244,10 +9433,12 @@ msgstr ""
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -9255,7 +9446,7 @@ msgstr ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>UTGÃ…NGSDATUM</replaceable>"
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -9264,24 +9455,38 @@ msgid ""
"able to use the system again."
msgstr ""
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
"date."
msgstr ""
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--shadow</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--shadow</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -9289,7 +9494,7 @@ msgstr ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INAKTIV</"
"replaceable>"
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -9297,17 +9502,17 @@ msgid ""
"the system administrator before being able to use the system again."
msgstr ""
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
msgstr ""
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
msgstr "Visa kontots åldringsinformation"
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -9315,7 +9520,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAGAR</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -9323,7 +9528,7 @@ msgstr ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAGAR</"
"replaceable>"
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
msgid ""
"Set the maximum number of days during which a password is valid. When "
"<replaceable>MAX_DAYS</replaceable> plus <replaceable>LAST_DAY</replaceable> "
@@ -9333,7 +9538,7 @@ msgid ""
"provides the user with advance warning."
msgstr ""
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -9341,7 +9546,7 @@ msgstr ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>VARN_DAGAR</replaceable>"
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
msgid ""
"Set the number of days of warning before a password change is required. The "
"<replaceable>WARN_DAYS</replaceable> option is the number of days prior to "
@@ -9349,7 +9554,7 @@ msgid ""
"expire."
msgstr ""
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -9358,7 +9563,7 @@ msgid ""
"<emphasis>[ ]</emphasis> marks."
msgstr ""
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
@@ -9366,22 +9571,38 @@ msgstr ""
"Programmet <command>chage</command> kräver att en skugglösenordsfil finns "
"tillgänglig."
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
"user to determine when their password or account is due to expire."
msgstr ""
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "kan inte hitta skugglösenordsfilen"
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9401,6 +9622,12 @@ msgstr "Daniel Nylander <po@danielnylander.se>, 2006."
#~ "Du kan använda argumentet <option>--</option> för att separera flaggorna "
#~ "till <command>su</command> från de argument som skickas till skalet."
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "GID inte unikt (när <option>-o</option> inte används)"
+
+#~ msgid "group name not unique"
+#~ msgstr "gruppnamn inte unikt"
+
#, fuzzy
#~| msgid "-"
#~ msgid "-M"
diff --git a/man/po/zh_CN.po b/man/po/zh_CN.po
index 25378073..2fc6331c 100644
--- a/man/po/zh_CN.po
+++ b/man/po/zh_CN.po
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow-man-pages VERSION\n"
-"POT-Creation-Date: 2020-01-23 15:00-0600\n"
+"POT-Creation-Date: 2021-07-22 21:57+0000\n"
"PO-Revision-Date: 2013-08-23 01:42+0200\n"
"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -32,13 +32,13 @@ msgstr ""
#: userdel.8.xml:50(firstname) useradd.8.xml:63(firstname)
#: suauth.5.xml:44(firstname) su.1.xml:61(firstname) sg.1.xml:45(firstname)
#: shadow.5.xml:44(firstname) shadow.3.xml:44(firstname)
-#: pwconv.8.xml:50(firstname) pwck.8.xml:50(firstname)
+#: pwconv.8.xml:50(firstname) pwck.8.xml:51(firstname)
#: porttime.5.xml:44(firstname) passwd.5.xml:44(firstname)
#: passwd.1.xml:51(firstname) newusers.8.xml:60(firstname)
#: newgrp.1.xml:45(firstname) logoutd.8.xml:44(firstname)
-#: login.defs.5.xml:111(firstname) login.access.5.xml:45(firstname)
+#: login.defs.5.xml:113(firstname) login.access.5.xml:45(firstname)
#: login.1.xml:77(firstname) limits.5.xml:46(firstname)
-#: lastlog.8.xml:46(firstname) grpck.8.xml:45(firstname)
+#: lastlog.8.xml:46(firstname) grpck.8.xml:44(firstname)
#: groups.1.xml:44(firstname) groupmod.8.xml:45(firstname)
#: groupmems.8.xml:48(firstname) groupdel.8.xml:45(firstname)
#: groupadd.8.xml:47(firstname) gpasswd.1.xml:49(firstname)
@@ -52,12 +52,12 @@ msgstr ""
#: vipw.8.xml:47(surname) usermod.8.xml:52(surname) userdel.8.xml:51(surname)
#: useradd.8.xml:64(surname) suauth.5.xml:45(surname) su.1.xml:62(surname)
#: sg.1.xml:46(surname) shadow.5.xml:45(surname) shadow.3.xml:45(surname)
-#: pwconv.8.xml:51(surname) pwck.8.xml:51(surname) porttime.5.xml:45(surname)
+#: pwconv.8.xml:51(surname) pwck.8.xml:52(surname) porttime.5.xml:45(surname)
#: passwd.5.xml:45(surname) passwd.1.xml:52(surname) newusers.8.xml:61(surname)
#: newgrp.1.xml:46(surname) logoutd.8.xml:45(surname)
-#: login.defs.5.xml:112(surname) login.access.5.xml:46(surname)
+#: login.defs.5.xml:114(surname) login.access.5.xml:46(surname)
#: login.1.xml:78(surname) limits.5.xml:47(surname) lastlog.8.xml:47(surname)
-#: grpck.8.xml:46(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
+#: grpck.8.xml:45(surname) groups.1.xml:45(surname) groupmod.8.xml:46(surname)
#: groupmems.8.xml:49(surname) groupdel.8.xml:46(surname)
#: groupadd.8.xml:48(surname) gpasswd.1.xml:50(surname)
#: faillog.8.xml:45(surname) faillog.5.xml:45(surname) expiry.1.xml:49(surname)
@@ -69,11 +69,11 @@ msgstr ""
#: vipw.8.xml:48(email) usermod.8.xml:53(email) userdel.8.xml:52(email)
#: useradd.8.xml:65(email) suauth.5.xml:46(email) su.1.xml:63(email)
#: sg.1.xml:47(email) shadow.5.xml:46(email) shadow.3.xml:46(email)
-#: pwconv.8.xml:52(email) pwck.8.xml:52(email) porttime.5.xml:46(email)
+#: pwconv.8.xml:52(email) pwck.8.xml:53(email) porttime.5.xml:46(email)
#: passwd.5.xml:46(email) passwd.1.xml:53(email) newusers.8.xml:62(email)
-#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:113(email)
+#: newgrp.1.xml:47(email) logoutd.8.xml:46(email) login.defs.5.xml:115(email)
#: login.access.5.xml:47(email) login.1.xml:79(email) limits.5.xml:48(email)
-#: lastlog.8.xml:48(email) grpck.8.xml:47(email) groups.1.xml:46(email)
+#: lastlog.8.xml:48(email) grpck.8.xml:46(email) groups.1.xml:46(email)
#: groupmod.8.xml:47(email) groupmems.8.xml:50(email) groupdel.8.xml:47(email)
#: groupadd.8.xml:49(email) gpasswd.1.xml:51(email) faillog.8.xml:46(email)
#: faillog.5.xml:46(email) expiry.1.xml:50(email) chsh.1.xml:49(email)
@@ -85,12 +85,12 @@ msgstr ""
#: vipw.8.xml:49(contrib) usermod.8.xml:54(contrib) userdel.8.xml:53(contrib)
#: useradd.8.xml:66(contrib) suauth.5.xml:47(contrib) su.1.xml:64(contrib)
#: sg.1.xml:48(contrib) shadow.5.xml:47(contrib) shadow.3.xml:47(contrib)
-#: pwconv.8.xml:53(contrib) pwck.8.xml:53(contrib) porttime.5.xml:47(contrib)
+#: pwconv.8.xml:53(contrib) pwck.8.xml:54(contrib) porttime.5.xml:47(contrib)
#: passwd.5.xml:47(contrib) passwd.1.xml:54(contrib) newusers.8.xml:63(contrib)
#: newgrp.1.xml:48(contrib) logoutd.8.xml:47(contrib)
-#: login.defs.5.xml:114(contrib) login.access.5.xml:48(contrib)
+#: login.defs.5.xml:116(contrib) login.access.5.xml:48(contrib)
#: login.1.xml:80(contrib) limits.5.xml:49(contrib) lastlog.8.xml:49(contrib)
-#: grpck.8.xml:48(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
+#: grpck.8.xml:47(contrib) groups.1.xml:47(contrib) groupmod.8.xml:48(contrib)
#: groupmems.8.xml:51(contrib) groupdel.8.xml:48(contrib)
#: groupadd.8.xml:50(contrib) gpasswd.1.xml:52(contrib)
#: faillog.8.xml:47(contrib) faillog.5.xml:47(contrib) expiry.1.xml:51(contrib)
@@ -103,14 +103,14 @@ msgstr ""
#: userdel.8.xml:56(firstname) useradd.8.xml:69(firstname)
#: suauth.5.xml:50(firstname) su.1.xml:67(firstname) sg.1.xml:51(firstname)
#: shadow.5.xml:50(firstname) shadow.3.xml:50(firstname)
-#: pwconv.8.xml:56(firstname) pwck.8.xml:56(firstname)
+#: pwconv.8.xml:56(firstname) pwck.8.xml:57(firstname)
#: porttime.5.xml:50(firstname) passwd.5.xml:50(firstname)
#: passwd.1.xml:57(firstname) nologin.8.xml:39(firstname)
#: newusers.8.xml:66(firstname) newgrp.1.xml:51(firstname)
-#: logoutd.8.xml:50(firstname) login.defs.5.xml:117(firstname)
+#: logoutd.8.xml:50(firstname) login.defs.5.xml:119(firstname)
#: login.access.5.xml:51(firstname) login.1.xml:83(firstname)
#: limits.5.xml:52(firstname) lastlog.8.xml:52(firstname)
-#: gshadow.5.xml:38(firstname) grpck.8.xml:51(firstname)
+#: gshadow.5.xml:38(firstname) grpck.8.xml:50(firstname)
#: groups.1.xml:50(firstname) groupmod.8.xml:51(firstname)
#: groupmems.8.xml:54(firstname) groupdel.8.xml:51(firstname)
#: groupadd.8.xml:53(firstname) gpasswd.1.xml:55(firstname)
@@ -124,13 +124,13 @@ msgstr ""
#: vipw.8.xml:53(surname) usermod.8.xml:58(surname) userdel.8.xml:57(surname)
#: useradd.8.xml:70(surname) suauth.5.xml:51(surname) su.1.xml:68(surname)
#: sg.1.xml:52(surname) shadow.5.xml:51(surname) shadow.3.xml:51(surname)
-#: pwconv.8.xml:57(surname) pwck.8.xml:57(surname) porttime.5.xml:51(surname)
+#: pwconv.8.xml:57(surname) pwck.8.xml:58(surname) porttime.5.xml:51(surname)
#: passwd.5.xml:51(surname) passwd.1.xml:58(surname) nologin.8.xml:40(surname)
#: newusers.8.xml:67(surname) newgrp.1.xml:52(surname)
-#: logoutd.8.xml:51(surname) login.defs.5.xml:118(surname)
+#: logoutd.8.xml:51(surname) login.defs.5.xml:120(surname)
#: login.access.5.xml:52(surname) login.1.xml:84(surname)
#: limits.5.xml:53(surname) lastlog.8.xml:53(surname) gshadow.5.xml:39(surname)
-#: grpck.8.xml:52(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
+#: grpck.8.xml:51(surname) groups.1.xml:51(surname) groupmod.8.xml:52(surname)
#: groupmems.8.xml:55(surname) groupdel.8.xml:52(surname)
#: groupadd.8.xml:54(surname) gpasswd.1.xml:56(surname)
#: faillog.8.xml:51(surname) faillog.5.xml:51(surname) expiry.1.xml:55(surname)
@@ -142,12 +142,12 @@ msgstr ""
#: vipw.8.xml:54(email) usermod.8.xml:59(email) userdel.8.xml:58(email)
#: useradd.8.xml:71(email) suauth.5.xml:52(email) su.1.xml:69(email)
#: sg.1.xml:53(email) shadow.5.xml:52(email) shadow.3.xml:52(email)
-#: pwconv.8.xml:58(email) pwck.8.xml:58(email) porttime.5.xml:52(email)
+#: pwconv.8.xml:58(email) pwck.8.xml:59(email) porttime.5.xml:52(email)
#: passwd.5.xml:52(email) passwd.1.xml:59(email) nologin.8.xml:41(email)
#: newusers.8.xml:68(email) newgrp.1.xml:53(email) logoutd.8.xml:52(email)
-#: login.defs.5.xml:119(email) login.access.5.xml:53(email)
+#: login.defs.5.xml:121(email) login.access.5.xml:53(email)
#: login.1.xml:85(email) limits.5.xml:54(email) lastlog.8.xml:54(email)
-#: gshadow.5.xml:40(email) grpck.8.xml:53(email) groups.1.xml:52(email)
+#: gshadow.5.xml:40(email) grpck.8.xml:52(email) groups.1.xml:52(email)
#: groupmod.8.xml:53(email) groupmems.8.xml:56(email) groupdel.8.xml:53(email)
#: groupadd.8.xml:55(email) gpasswd.1.xml:57(email) faillog.8.xml:52(email)
#: faillog.5.xml:52(email) expiry.1.xml:56(email) chsh.1.xml:55(email)
@@ -159,13 +159,13 @@ msgstr ""
#: vipw.8.xml:55(contrib) usermod.8.xml:60(contrib) userdel.8.xml:59(contrib)
#: useradd.8.xml:72(contrib) suauth.5.xml:53(contrib) su.1.xml:70(contrib)
#: sg.1.xml:54(contrib) shadow.5.xml:53(contrib) shadow.3.xml:53(contrib)
-#: pwconv.8.xml:59(contrib) pwck.8.xml:59(contrib) porttime.5.xml:53(contrib)
+#: pwconv.8.xml:59(contrib) pwck.8.xml:60(contrib) porttime.5.xml:53(contrib)
#: passwd.5.xml:53(contrib) passwd.1.xml:60(contrib) nologin.8.xml:42(contrib)
#: newusers.8.xml:69(contrib) newgrp.1.xml:54(contrib)
-#: logoutd.8.xml:53(contrib) login.defs.5.xml:120(contrib)
+#: logoutd.8.xml:53(contrib) login.defs.5.xml:122(contrib)
#: login.access.5.xml:54(contrib) login.1.xml:86(contrib)
#: limits.5.xml:55(contrib) lastlog.8.xml:55(contrib) gshadow.5.xml:42(contrib)
-#: grpck.8.xml:54(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
+#: grpck.8.xml:53(contrib) groups.1.xml:53(contrib) groupmod.8.xml:54(contrib)
#: groupmems.8.xml:57(contrib) groupdel.8.xml:54(contrib)
#: groupadd.8.xml:56(contrib) gpasswd.1.xml:58(contrib)
#: faillog.8.xml:53(contrib) faillog.5.xml:53(contrib) expiry.1.xml:57(contrib)
@@ -175,18 +175,18 @@ msgid "shadow-utils maintainer, 2007 - now"
msgstr ""
#: vipw.8.xml:59(refentrytitle) vipw.8.xml:66(refname) vipw.8.xml:75(command)
-#: login.defs.5.xml:520(term)
+#: login.defs.5.xml:524(term)
msgid "vipw"
msgstr "vipw"
#: vipw.8.xml:60(manvolnum) usermod.8.xml:65(manvolnum)
-#: userdel.8.xml:64(manvolnum) userdel.8.xml:276(replaceable)
+#: userdel.8.xml:64(manvolnum) userdel.8.xml:282(replaceable)
#: useradd.8.xml:77(manvolnum) pwconv.8.xml:64(manvolnum)
-#: pwck.8.xml:64(manvolnum) nologin.8.xml:47(manvolnum)
+#: pwck.8.xml:65(manvolnum) nologin.8.xml:47(manvolnum)
#: newusers.8.xml:74(manvolnum) logoutd.8.xml:58(manvolnum)
-#: lastlog.8.xml:60(manvolnum) grpck.8.xml:59(manvolnum)
+#: lastlog.8.xml:60(manvolnum) grpck.8.xml:58(manvolnum)
#: groupmod.8.xml:59(manvolnum) groupmems.8.xml:62(manvolnum)
-#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:198(replaceable)
+#: groupdel.8.xml:59(manvolnum) groupdel.8.xml:209(replaceable)
#: groupadd.8.xml:61(manvolnum) faillog.8.xml:58(manvolnum)
#: faillog.5.xml:111(manvolnum) chpasswd.8.xml:62(manvolnum)
#: chgpasswd.8.xml:58(manvolnum)
@@ -195,10 +195,10 @@ msgstr "8"
#: vipw.8.xml:61(refmiscinfo) usermod.8.xml:66(refmiscinfo)
#: userdel.8.xml:65(refmiscinfo) useradd.8.xml:78(refmiscinfo)
-#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:65(refmiscinfo)
+#: pwconv.8.xml:65(refmiscinfo) pwck.8.xml:66(refmiscinfo)
#: nologin.8.xml:48(refmiscinfo) newusers.8.xml:75(refmiscinfo)
#: logoutd.8.xml:59(refmiscinfo) lastlog.8.xml:61(refmiscinfo)
-#: grpck.8.xml:60(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
+#: grpck.8.xml:59(refmiscinfo) groupmod.8.xml:60(refmiscinfo)
#: groupmems.8.xml:63(refmiscinfo) groupdel.8.xml:60(refmiscinfo)
#: groupadd.8.xml:62(refmiscinfo) faillog.8.xml:59(refmiscinfo)
#: chpasswd.8.xml:63(refmiscinfo) chgpasswd.8.xml:59(refmiscinfo)
@@ -210,14 +210,14 @@ msgstr "系统管ç†å‘½ä»¤"
#: suauth.5.xml:60(refmiscinfo) su.1.xml:77(refmiscinfo)
#: sg.1.xml:61(refmiscinfo) shadow.5.xml:60(refmiscinfo)
#: shadow.3.xml:60(refmiscinfo) pwconv.8.xml:66(refmiscinfo)
-#: pwck.8.xml:66(refmiscinfo) porttime.5.xml:60(refmiscinfo)
+#: pwck.8.xml:67(refmiscinfo) porttime.5.xml:60(refmiscinfo)
#: passwd.5.xml:60(refmiscinfo) passwd.1.xml:67(refmiscinfo)
#: nologin.8.xml:49(refmiscinfo) newusers.8.xml:76(refmiscinfo)
#: newgrp.1.xml:61(refmiscinfo) logoutd.8.xml:60(refmiscinfo)
-#: login.defs.5.xml:127(refmiscinfo) login.access.5.xml:61(refmiscinfo)
+#: login.defs.5.xml:129(refmiscinfo) login.access.5.xml:61(refmiscinfo)
#: login.1.xml:93(refmiscinfo) limits.5.xml:62(refmiscinfo)
#: lastlog.8.xml:62(refmiscinfo) gshadow.5.xml:49(refmiscinfo)
-#: grpck.8.xml:61(refmiscinfo) groups.1.xml:60(refmiscinfo)
+#: grpck.8.xml:60(refmiscinfo) groups.1.xml:60(refmiscinfo)
#: groupmod.8.xml:61(refmiscinfo) groupmems.8.xml:64(refmiscinfo)
#: groupdel.8.xml:61(refmiscinfo) groupadd.8.xml:63(refmiscinfo)
#: gpasswd.1.xml:65(refmiscinfo) faillog.8.xml:60(refmiscinfo)
@@ -241,9 +241,9 @@ msgstr "编辑密ç ã€ç»„ã€å½±å­å¯†ç æˆ–å½±å­ç»„文件。"
#: useradd.8.xml:90(replaceable) useradd.8.xml:102(replaceable)
#: su.1.xml:88(replaceable) pwconv.8.xml:81(replaceable)
#: pwconv.8.xml:87(replaceable) pwconv.8.xml:93(replaceable)
-#: pwconv.8.xml:99(replaceable) pwck.8.xml:77(arg) passwd.1.xml:79(replaceable)
+#: pwconv.8.xml:99(replaceable) pwck.8.xml:78(arg) passwd.1.xml:79(replaceable)
#: newusers.8.xml:88(replaceable) lastlog.8.xml:74(replaceable)
-#: grpck.8.xml:72(arg) groupmod.8.xml:73(replaceable)
+#: grpck.8.xml:71(arg) groupmod.8.xml:73(replaceable)
#: groupdel.8.xml:73(replaceable) groupadd.8.xml:75(replaceable)
#: faillog.8.xml:72(replaceable) chsh.1.xml:75(replaceable)
#: chpasswd.8.xml:76(replaceable) chgpasswd.8.xml:72(replaceable)
@@ -254,12 +254,12 @@ msgstr "选项"
#: vipw.8.xml:89(title) usermod.8.xml:86(title) userdel.8.xml:84(title)
#: useradd.8.xml:108(title) suauth.5.xml:75(title) su.1.xml:103(title)
#: sg.1.xml:81(title) shadow.5.xml:69(title) shadow.3.xml:118(title)
-#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:92(title)
+#: shadow.3.xml:174(title) pwconv.8.xml:105(title) pwck.8.xml:93(title)
#: porttime.5.xml:69(title) passwd.5.xml:69(title) passwd.1.xml:88(title)
#: nologin.8.xml:64(title) newusers.8.xml:97(title) newgrp.1.xml:77(title)
-#: logoutd.8.xml:75(title) login.defs.5.xml:136(title)
+#: logoutd.8.xml:75(title) login.defs.5.xml:138(title)
#: login.access.5.xml:70(title) login.1.xml:125(title) limits.5.xml:72(title)
-#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:83(title)
+#: lastlog.8.xml:80(title) gshadow.5.xml:58(title) grpck.8.xml:82(title)
#: groups.1.xml:78(title) groupmod.8.xml:80(title) groupmems.8.xml:85(title)
#: groupdel.8.xml:80(title) groupadd.8.xml:84(title) gpasswd.1.xml:94(title)
#: faillog.8.xml:78(title) faillog.5.xml:69(title) expiry.1.xml:82(title)
@@ -292,8 +292,8 @@ msgstr ""
#: vipw.8.xml:107(title) usermod.8.xml:94(title) userdel.8.xml:93(title)
#: useradd.8.xml:126(title) su.1.xml:144(title) pwconv.8.xml:187(title)
-#: pwck.8.xml:176(title) passwd.1.xml:174(title) newusers.8.xml:266(title)
-#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:147(title)
+#: pwck.8.xml:177(title) passwd.1.xml:174(title) newusers.8.xml:274(title)
+#: login.1.xml:210(title) lastlog.8.xml:92(title) grpck.8.xml:146(title)
#: groupmod.8.xml:89(title) groupmems.8.xml:100(title) groupdel.8.xml:88(title)
#: groupadd.8.xml:93(title) gpasswd.1.xml:134(title) faillog.8.xml:89(title)
#: expiry.1.xml:91(title) chsh.1.xml:95(title) chpasswd.8.xml:130(title)
@@ -316,25 +316,25 @@ msgstr "<option>-g</option>, <option>--group</option>"
msgid "Edit group database."
msgstr "编辑 group æ•°æ®åº“。"
-#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:278(term)
-#: pwconv.8.xml:195(term) pwck.8.xml:196(term) passwd.1.xml:214(term)
-#: newusers.8.xml:296(term) lastlog.8.xml:119(term) grpck.8.xml:157(term)
-#: groupmod.8.xml:129(term) groupmems.8.xml:142(term) groupdel.8.xml:95(term)
+#: vipw.8.xml:120(term) userdel.8.xml:123(term) useradd.8.xml:280(term)
+#: pwconv.8.xml:195(term) pwck.8.xml:197(term) passwd.1.xml:214(term)
+#: newusers.8.xml:304(term) lastlog.8.xml:119(term) grpck.8.xml:156(term)
+#: groupmod.8.xml:138(term) groupmems.8.xml:142(term) groupdel.8.xml:106(term)
#: groupadd.8.xml:131(term) gpasswd.1.xml:173(term) faillog.8.xml:122(term)
#: expiry.1.xml:112(term) chsh.1.xml:101(term) chpasswd.8.xml:171(term)
-#: chgpasswd.8.xml:131(term) chage.1.xml:129(term)
+#: chgpasswd.8.xml:131(term) chage.1.xml:139(term)
msgid "<option>-h</option>, <option>--help</option>"
msgstr "<option>-h</option>, <option>--help</option>"
-#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:280(para)
-#: pwconv.8.xml:197(para) pwck.8.xml:198(para) passwd.1.xml:216(para)
-#: newusers.8.xml:298(para) lastlog.8.xml:123(para) grpck.8.xml:159(para)
-#: groupmod.8.xml:131(para) groupmems.8.xml:144(para) groupdel.8.xml:97(para)
+#: vipw.8.xml:122(para) userdel.8.xml:125(para) useradd.8.xml:282(para)
+#: pwconv.8.xml:197(para) pwck.8.xml:199(para) passwd.1.xml:216(para)
+#: newusers.8.xml:306(para) lastlog.8.xml:123(para) grpck.8.xml:158(para)
+#: groupmod.8.xml:140(para) groupmems.8.xml:144(para) groupdel.8.xml:108(para)
#: groupadd.8.xml:133(para) gpasswd.1.xml:175(para) faillog.8.xml:124(para)
#: expiry.1.xml:114(para) chsh.1.xml:103(para) chpasswd.8.xml:173(para)
-#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:131(para)
+#: chgpasswd.8.xml:133(para) chfn.1.xml:169(para) chage.1.xml:141(para)
msgid "Display help message and exit."
-msgstr "现实帮助信æ¯å¹¶é€€å‡ºã€‚"
+msgstr "显示帮助信æ¯å¹¶é€€å‡ºã€‚"
#: vipw.8.xml:126(term)
msgid "<option>-p</option>, <option>--passwd</option>"
@@ -344,7 +344,7 @@ msgstr "<option>-p</option>, <option>--passwd</option>"
msgid "Edit passwd database."
msgstr "编辑 passwd æ•°æ®åº“。"
-#: vipw.8.xml:132(term) pwck.8.xml:202(term) passwd.1.xml:281(term)
+#: vipw.8.xml:132(term) pwck.8.xml:203(term) passwd.1.xml:281(term)
msgid "<option>-q</option>, <option>--quiet</option>"
msgstr "<option>-q</option>, <option>--quiet</option>"
@@ -352,13 +352,13 @@ msgstr "<option>-q</option>, <option>--quiet</option>"
msgid "Quiet mode."
msgstr "安é™æ¨¡å¼ã€‚"
-#: vipw.8.xml:138(term) usermod.8.xml:322(term) userdel.8.xml:146(term)
-#: useradd.8.xml:457(term) pwconv.8.xml:201(term) pwck.8.xml:219(term)
-#: passwd.1.xml:301(term) newusers.8.xml:321(term) lastlog.8.xml:127(term)
-#: grpck.8.xml:173(term) groupmod.8.xml:178(term) groupmems.8.xml:165(term)
-#: groupdel.8.xml:101(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
+#: vipw.8.xml:138(term) usermod.8.xml:330(term) userdel.8.xml:146(term)
+#: useradd.8.xml:464(term) pwconv.8.xml:201(term) pwck.8.xml:220(term)
+#: passwd.1.xml:301(term) newusers.8.xml:329(term) lastlog.8.xml:127(term)
+#: grpck.8.xml:172(term) groupmod.8.xml:187(term) groupmems.8.xml:165(term)
+#: groupdel.8.xml:112(term) groupadd.8.xml:204(term) faillog.8.xml:180(term)
#: chsh.1.xml:107(term) chpasswd.8.xml:188(term) chgpasswd.8.xml:146(term)
-#: chfn.1.xml:153(term) chage.1.xml:203(term)
+#: chfn.1.xml:153(term) chage.1.xml:213(term)
msgid ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
@@ -366,13 +366,13 @@ msgstr ""
"<option>-R</option>, <option>--root</option>&nbsp;<replaceable>CHROOT_DIR</"
"replaceable>"
-#: vipw.8.xml:142(para) usermod.8.xml:326(para) userdel.8.xml:150(para)
-#: useradd.8.xml:461(para) pwconv.8.xml:205(para) pwck.8.xml:223(para)
-#: passwd.1.xml:305(para) newusers.8.xml:325(para) lastlog.8.xml:131(para)
-#: grpck.8.xml:177(para) groupmod.8.xml:182(para) groupmems.8.xml:169(para)
-#: groupdel.8.xml:105(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
+#: vipw.8.xml:142(para) usermod.8.xml:334(para) userdel.8.xml:150(para)
+#: useradd.8.xml:468(para) pwconv.8.xml:205(para) pwck.8.xml:224(para)
+#: passwd.1.xml:305(para) newusers.8.xml:333(para) lastlog.8.xml:131(para)
+#: grpck.8.xml:176(para) groupmod.8.xml:191(para) groupmems.8.xml:169(para)
+#: groupdel.8.xml:116(para) groupadd.8.xml:208(para) gpasswd.1.xml:185(para)
#: faillog.8.xml:184(para) chsh.1.xml:111(para) chpasswd.8.xml:192(para)
-#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:207(para)
+#: chgpasswd.8.xml:150(para) chfn.1.xml:157(para) chage.1.xml:217(para)
#, fuzzy
#| msgid ""
#| "Add the <replaceable>user</replaceable> to the named <replaceable>group</"
@@ -401,26 +401,26 @@ msgstr "<option>-u</option>, <option>--user</option>"
msgid "Indicates which user's tcb shadow file to edit."
msgstr "指定è¦ç¼–辑哪个用户的 tcb å½±å­æ–‡ä»¶ã€‚"
-#: vipw.8.xml:165(title) usermod.8.xml:524(title) userdel.8.xml:188(title)
-#: useradd.8.xml:676(title) su.1.xml:338(title) sg.1.xml:98(title)
-#: pwconv.8.xml:227(title) pwck.8.xml:262(title) passwd.1.xml:395(title)
-#: newusers.8.xml:375(title) newgrp.1.xml:109(title) login.1.xml:294(title)
-#: lastlog.8.xml:205(title) grpck.8.xml:209(title) groupmod.8.xml:210(title)
-#: groupmems.8.xml:199(title) groupdel.8.xml:145(title)
-#: groupadd.8.xml:236(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
+#: vipw.8.xml:165(title) usermod.8.xml:538(title) userdel.8.xml:188(title)
+#: useradd.8.xml:683(title) su.1.xml:338(title) sg.1.xml:98(title)
+#: pwconv.8.xml:227(title) pwck.8.xml:263(title) passwd.1.xml:395(title)
+#: newusers.8.xml:383(title) newgrp.1.xml:109(title) login.1.xml:294(title)
+#: lastlog.8.xml:205(title) grpck.8.xml:219(title) groupmod.8.xml:235(title)
+#: groupmems.8.xml:199(title) groupdel.8.xml:156(title)
+#: groupadd.8.xml:252(title) gpasswd.1.xml:264(title) chsh.1.xml:154(title)
#: chpasswd.8.xml:239(title) chgpasswd.8.xml:198(title) chfn.1.xml:193(title)
-#: chage.1.xml:250(title)
+#: chage.1.xml:272(title)
msgid "CONFIGURATION"
msgstr "é…置文件"
-#: vipw.8.xml:166(para) usermod.8.xml:525(para) userdel.8.xml:189(para)
-#: useradd.8.xml:677(para) su.1.xml:339(para) sg.1.xml:99(para)
-#: pwck.8.xml:263(para) passwd.1.xml:396(para) newusers.8.xml:376(para)
+#: vipw.8.xml:166(para) usermod.8.xml:539(para) userdel.8.xml:189(para)
+#: useradd.8.xml:684(para) su.1.xml:339(para) sg.1.xml:99(para)
+#: pwck.8.xml:264(para) passwd.1.xml:396(para) newusers.8.xml:384(para)
#: newgrp.1.xml:110(para) login.1.xml:295(para) lastlog.8.xml:206(para)
-#: grpck.8.xml:210(para) groupmod.8.xml:211(para) groupmems.8.xml:200(para)
-#: groupdel.8.xml:146(para) groupadd.8.xml:237(para) gpasswd.1.xml:265(para)
+#: grpck.8.xml:220(para) groupmod.8.xml:236(para) groupmems.8.xml:200(para)
+#: groupdel.8.xml:157(para) groupadd.8.xml:253(para) gpasswd.1.xml:265(para)
#: chsh.1.xml:155(para) chpasswd.8.xml:240(para) chgpasswd.8.xml:199(para)
-#: chfn.1.xml:194(para) chage.1.xml:251(para)
+#: chfn.1.xml:194(para) chage.1.xml:273(para)
msgid ""
"The following configuration variables in <filename>/etc/login.defs</"
"filename> change the behavior of this tool:"
@@ -466,119 +466,119 @@ msgstr "EDITOR"
msgid "Editor to be used if <option>VISUAL</option> is not set."
msgstr "<option>VISUAL</option> 没有设置的情况下,使用的编辑器。"
-#: vipw.8.xml:195(title) usermod.8.xml:542(title) userdel.8.xml:205(title)
-#: useradd.8.xml:706(title) suauth.5.xml:193(title) su.1.xml:366(title)
+#: vipw.8.xml:195(title) usermod.8.xml:556(title) userdel.8.xml:205(title)
+#: useradd.8.xml:713(title) suauth.5.xml:193(title) su.1.xml:366(title)
#: sg.1.xml:110(title) shadow.5.xml:255(title) shadow.3.xml:226(title)
-#: pwconv.8.xml:250(title) pwck.8.xml:279(title) porttime.5.xml:130(title)
-#: passwd.5.xml:160(title) passwd.1.xml:413(title) newusers.8.xml:411(title)
+#: pwconv.8.xml:250(title) pwck.8.xml:281(title) porttime.5.xml:130(title)
+#: passwd.5.xml:163(title) passwd.1.xml:413(title) newusers.8.xml:419(title)
#: newgrp.1.xml:121(title) logoutd.8.xml:89(title)
#: login.access.5.xml:121(title) login.1.xml:338(title) limits.5.xml:196(title)
-#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:221(title)
-#: groups.1.xml:100(title) groupmod.8.xml:222(title) groupmems.8.xml:211(title)
-#: groupdel.8.xml:157(title) groupadd.8.xml:250(title) gpasswd.1.xml:279(title)
+#: lastlog.8.xml:217(title) gshadow.5.xml:156(title) grpck.8.xml:231(title)
+#: groups.1.xml:100(title) groupmod.8.xml:247(title) groupmems.8.xml:211(title)
+#: groupdel.8.xml:168(title) groupadd.8.xml:266(title) gpasswd.1.xml:279(title)
#: faillog.8.xml:243(title) faillog.5.xml:96(title) expiry.1.xml:121(title)
#: chsh.1.xml:167(title) chpasswd.8.xml:255(title) chgpasswd.8.xml:213(title)
-#: chfn.1.xml:207(title) chage.1.xml:262(title)
+#: chfn.1.xml:207(title) chage.1.xml:284(title)
msgid "FILES"
msgstr "文件"
-#: vipw.8.xml:198(filename) usermod.8.xml:545(filename)
-#: userdel.8.xml:208(filename) useradd.8.xml:721(filename)
-#: sg.1.xml:125(filename) pwck.8.xml:282(filename) newusers.8.xml:426(filename)
+#: vipw.8.xml:198(filename) usermod.8.xml:559(filename)
+#: userdel.8.xml:208(filename) useradd.8.xml:728(filename)
+#: sg.1.xml:125(filename) pwck.8.xml:284(filename) newusers.8.xml:434(filename)
#: newgrp.1.xml:136(filename) gshadow.5.xml:159(filename)
-#: grpck.8.xml:224(filename) groups.1.xml:103(filename)
-#: groupmod.8.xml:225(filename) groupmems.8.xml:214(filename)
-#: groupdel.8.xml:160(filename) groupadd.8.xml:253(filename)
+#: grpck.8.xml:234(filename) groups.1.xml:103(filename)
+#: groupmod.8.xml:250(filename) groupmems.8.xml:214(filename)
+#: groupdel.8.xml:171(filename) groupadd.8.xml:269(filename)
#: gpasswd.1.xml:72(filename) gpasswd.1.xml:75(filename)
#: gpasswd.1.xml:282(filename) chgpasswd.8.xml:216(filename)
msgid "/etc/group"
msgstr "/etc/group"
-#: vipw.8.xml:200(para) usermod.8.xml:547(para) userdel.8.xml:210(para)
-#: useradd.8.xml:723(para) sg.1.xml:127(para) pwck.8.xml:284(para)
-#: newusers.8.xml:428(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
-#: grpck.8.xml:226(para) groups.1.xml:105(para) groupmod.8.xml:227(para)
-#: groupmems.8.xml:216(para) groupdel.8.xml:162(para) groupadd.8.xml:255(para)
+#: vipw.8.xml:200(para) usermod.8.xml:561(para) userdel.8.xml:210(para)
+#: useradd.8.xml:730(para) sg.1.xml:127(para) pwck.8.xml:286(para)
+#: newusers.8.xml:436(para) newgrp.1.xml:138(para) gshadow.5.xml:161(para)
+#: grpck.8.xml:236(para) groups.1.xml:105(para) groupmod.8.xml:252(para)
+#: groupmems.8.xml:216(para) groupdel.8.xml:173(para) groupadd.8.xml:271(para)
#: gpasswd.1.xml:284(para) chgpasswd.8.xml:218(para)
msgid "Group account information."
msgstr "组账户信æ¯ã€‚"
-#: vipw.8.xml:204(filename) usermod.8.xml:551(filename)
-#: useradd.8.xml:727(filename) sg.1.xml:131(filename)
-#: newusers.8.xml:432(filename) newgrp.1.xml:142(filename)
-#: gshadow.5.xml:165(filename) grpck.8.xml:230(filename)
-#: groupmod.8.xml:231(filename) groupmems.8.xml:220(filename)
-#: groupdel.8.xml:166(filename) groupadd.8.xml:259(filename)
+#: vipw.8.xml:204(filename) usermod.8.xml:565(filename)
+#: useradd.8.xml:734(filename) sg.1.xml:131(filename)
+#: newusers.8.xml:440(filename) newgrp.1.xml:142(filename)
+#: gshadow.5.xml:165(filename) grpck.8.xml:240(filename)
+#: groupmod.8.xml:256(filename) groupmems.8.xml:220(filename)
+#: groupdel.8.xml:177(filename) groupadd.8.xml:275(filename)
#: gpasswd.1.xml:76(filename) gpasswd.1.xml:288(filename)
#: chgpasswd.8.xml:222(filename)
msgid "/etc/gshadow"
msgstr "/etc/gshadow"
-#: vipw.8.xml:206(para) usermod.8.xml:553(para) useradd.8.xml:729(para)
-#: sg.1.xml:133(para) newusers.8.xml:434(para) newgrp.1.xml:144(para)
-#: gshadow.5.xml:167(para) grpck.8.xml:232(para) groupmod.8.xml:233(para)
-#: groupdel.8.xml:168(para) groupadd.8.xml:261(para) gpasswd.1.xml:290(para)
+#: vipw.8.xml:206(para) usermod.8.xml:567(para) useradd.8.xml:736(para)
+#: sg.1.xml:133(para) newusers.8.xml:442(para) newgrp.1.xml:144(para)
+#: gshadow.5.xml:167(para) grpck.8.xml:242(para) groupmod.8.xml:258(para)
+#: groupdel.8.xml:179(para) groupadd.8.xml:277(para) gpasswd.1.xml:290(para)
#: chgpasswd.8.xml:224(para)
msgid "Secure group account information."
msgstr "安全组账户信æ¯ã€‚"
-#: vipw.8.xml:210(filename) usermod.8.xml:563(filename)
-#: userdel.8.xml:220(filename) useradd.8.xml:709(filename)
+#: vipw.8.xml:210(filename) usermod.8.xml:577(filename)
+#: userdel.8.xml:220(filename) useradd.8.xml:716(filename)
#: su.1.xml:369(filename) sg.1.xml:113(filename) shadow.5.xml:258(filename)
-#: pwck.8.xml:288(filename) passwd.5.xml:163(filename)
-#: passwd.1.xml:416(filename) newusers.8.xml:414(filename)
+#: pwck.8.xml:290(filename) passwd.5.xml:166(filename)
+#: passwd.1.xml:416(filename) newusers.8.xml:422(filename)
#: newgrp.1.xml:124(filename) login.1.xml:353(filename)
-#: grpck.8.xml:236(filename) groupmod.8.xml:243(filename)
+#: grpck.8.xml:246(filename) groupmod.8.xml:268(filename)
#: expiry.1.xml:124(filename) chsh.1.xml:170(filename)
#: chpasswd.8.xml:258(filename) chfn.1.xml:216(filename)
-#: chage.1.xml:266(filename)
+#: chage.1.xml:288(filename)
msgid "/etc/passwd"
msgstr "/etc/passwd"
-#: vipw.8.xml:212(para) usermod.8.xml:565(para) userdel.8.xml:222(para)
-#: useradd.8.xml:711(para) su.1.xml:371(para) sg.1.xml:115(para)
-#: shadow.5.xml:260(para) pwck.8.xml:290(para) passwd.5.xml:165(para)
-#: passwd.1.xml:418(para) newusers.8.xml:416(para) newgrp.1.xml:126(para)
-#: login.1.xml:355(para) grpck.8.xml:238(para) groupmod.8.xml:245(para)
+#: vipw.8.xml:212(para) usermod.8.xml:579(para) userdel.8.xml:222(para)
+#: useradd.8.xml:718(para) su.1.xml:371(para) sg.1.xml:115(para)
+#: shadow.5.xml:260(para) pwck.8.xml:292(para) passwd.5.xml:168(para)
+#: passwd.1.xml:418(para) newusers.8.xml:424(para) newgrp.1.xml:126(para)
+#: login.1.xml:355(para) grpck.8.xml:248(para) groupmod.8.xml:270(para)
#: expiry.1.xml:126(para) chsh.1.xml:172(para) chpasswd.8.xml:260(para)
-#: chfn.1.xml:218(para) chage.1.xml:269(para)
+#: chfn.1.xml:218(para) chage.1.xml:291(para)
msgid "User account information."
msgstr "用户账户信æ¯ã€‚"
-#: vipw.8.xml:216(filename) usermod.8.xml:569(filename)
-#: userdel.8.xml:226(filename) useradd.8.xml:715(filename)
+#: vipw.8.xml:216(filename) usermod.8.xml:583(filename)
+#: userdel.8.xml:226(filename) useradd.8.xml:722(filename)
#: su.1.xml:375(filename) sg.1.xml:119(filename) shadow.5.xml:264(filename)
-#: shadow.3.xml:229(filename) pwck.8.xml:294(filename)
-#: passwd.5.xml:169(filename) passwd.1.xml:422(filename)
-#: newusers.8.xml:420(filename) newgrp.1.xml:130(filename)
+#: shadow.3.xml:229(filename) pwck.8.xml:296(filename)
+#: passwd.5.xml:172(filename) passwd.1.xml:422(filename)
+#: newusers.8.xml:428(filename) newgrp.1.xml:130(filename)
#: login.1.xml:359(filename) expiry.1.xml:130(filename)
-#: chpasswd.8.xml:264(filename) chage.1.xml:274(filename)
+#: chpasswd.8.xml:264(filename) chage.1.xml:296(filename)
msgid "/etc/shadow"
msgstr "/etc/shadow"
-#: vipw.8.xml:218(para) usermod.8.xml:571(para) userdel.8.xml:228(para)
-#: useradd.8.xml:717(para) su.1.xml:377(para) sg.1.xml:121(para)
-#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:296(para)
-#: passwd.1.xml:424(para) newusers.8.xml:422(para) newgrp.1.xml:132(para)
+#: vipw.8.xml:218(para) usermod.8.xml:585(para) userdel.8.xml:228(para)
+#: useradd.8.xml:724(para) su.1.xml:377(para) sg.1.xml:121(para)
+#: shadow.5.xml:266(para) shadow.3.xml:231(para) pwck.8.xml:298(para)
+#: passwd.1.xml:424(para) newusers.8.xml:430(para) newgrp.1.xml:132(para)
#: login.1.xml:361(para) expiry.1.xml:132(para) chpasswd.8.xml:266(para)
-#: chage.1.xml:277(para)
+#: chage.1.xml:299(para)
msgid "Secure user account information."
msgstr "安全用户账户信æ¯ã€‚"
-#: vipw.8.xml:225(title) usermod.8.xml:590(title) userdel.8.xml:325(title)
-#: useradd.8.xml:835(title) suauth.5.xml:222(title) su.1.xml:437(title)
+#: vipw.8.xml:225(title) usermod.8.xml:604(title) userdel.8.xml:331(title)
+#: useradd.8.xml:848(title) suauth.5.xml:222(title) su.1.xml:437(title)
#: sg.1.xml:140(title) shadow.5.xml:283(title) shadow.3.xml:238(title)
-#: pwconv.8.xml:262(title) pwck.8.xml:354(title) porttime.5.xml:142(title)
-#: passwd.5.xml:188(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
-#: newusers.8.xml:465(title) newgrp.1.xml:151(title)
-#: login.defs.5.xml:547(title) login.access.5.xml:133(title)
+#: pwconv.8.xml:262(title) pwck.8.xml:356(title) porttime.5.xml:142(title)
+#: passwd.5.xml:191(title) passwd.1.xml:494(title) nologin.8.xml:81(title)
+#: newusers.8.xml:473(title) newgrp.1.xml:151(title)
+#: login.defs.5.xml:551(title) login.access.5.xml:133(title)
#: login.1.xml:398(title) limits.5.xml:206(title) gshadow.5.xml:174(title)
-#: grpck.8.xml:290(title) groups.1.xml:112(title) groupmod.8.xml:321(title)
-#: groupmems.8.xml:229(title) groupdel.8.xml:214(title)
-#: groupadd.8.xml:341(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
+#: grpck.8.xml:300(title) groups.1.xml:112(title) groupmod.8.xml:346(title)
+#: groupmems.8.xml:229(title) groupdel.8.xml:225(title)
+#: groupadd.8.xml:357(title) gpasswd.1.xml:297(title) faillog.8.xml:255(title)
#: faillog.5.xml:108(title) expiry.1.xml:139(title) chsh.1.xml:191(title)
#: chpasswd.8.xml:285(title) chgpasswd.8.xml:237(title) chfn.1.xml:225(title)
-#: chage.1.xml:317(title)
+#: chage.1.xml:339(title)
msgid "SEE ALSO"
msgstr "å‚è§"
@@ -611,12 +611,12 @@ msgstr ""
#: usermod.8.xml:46(firstname) userdel.8.xml:45(firstname)
#: useradd.8.xml:58(firstname) su.1.xml:56(firstname) sg.1.xml:40(firstname)
#: shadow.5.xml:39(firstname) shadow.3.xml:39(firstname)
-#: pwck.8.xml:45(firstname) porttime.5.xml:39(firstname)
+#: pwck.8.xml:46(firstname) porttime.5.xml:39(firstname)
#: passwd.5.xml:39(firstname) passwd.1.xml:46(firstname)
#: newusers.8.xml:55(firstname) newgrp.1.xml:40(firstname)
-#: logoutd.8.xml:39(firstname) login.defs.5.xml:106(firstname)
+#: logoutd.8.xml:39(firstname) login.defs.5.xml:108(firstname)
#: login.1.xml:72(firstname) lastlog.8.xml:41(firstname)
-#: grpck.8.xml:40(firstname) groups.1.xml:39(firstname)
+#: grpck.8.xml:39(firstname) groups.1.xml:39(firstname)
#: groupmod.8.xml:40(firstname) groupdel.8.xml:40(firstname)
#: groupadd.8.xml:42(firstname) faillog.8.xml:39(firstname)
#: faillog.5.xml:39(firstname) expiry.1.xml:43(firstname)
@@ -627,11 +627,11 @@ msgstr ""
#: usermod.8.xml:47(surname) userdel.8.xml:46(surname)
#: useradd.8.xml:59(surname) su.1.xml:57(surname) sg.1.xml:41(surname)
-#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:46(surname)
+#: shadow.5.xml:40(surname) shadow.3.xml:40(surname) pwck.8.xml:47(surname)
#: porttime.5.xml:40(surname) passwd.5.xml:40(surname) passwd.1.xml:47(surname)
#: newusers.8.xml:56(surname) newgrp.1.xml:41(surname)
-#: logoutd.8.xml:40(surname) login.defs.5.xml:107(surname)
-#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:41(surname)
+#: logoutd.8.xml:40(surname) login.defs.5.xml:109(surname)
+#: login.1.xml:73(surname) lastlog.8.xml:42(surname) grpck.8.xml:40(surname)
#: groups.1.xml:40(surname) groupmod.8.xml:41(surname)
#: groupdel.8.xml:41(surname) groupadd.8.xml:43(surname)
#: faillog.8.xml:40(surname) faillog.5.xml:40(surname) expiry.1.xml:44(surname)
@@ -643,14 +643,14 @@ msgstr ""
#: usermod.8.xml:48(contrib) userdel.8.xml:47(contrib)
#: useradd.8.xml:60(contrib) sg.1.xml:42(contrib) newusers.8.xml:57(contrib)
#: newgrp.1.xml:42(contrib) logoutd.8.xml:41(contrib)
-#: login.defs.5.xml:108(contrib) groups.1.xml:41(contrib)
+#: login.defs.5.xml:110(contrib) groups.1.xml:41(contrib)
#: groupmod.8.xml:42(contrib) groupdel.8.xml:42(contrib)
#: groupadd.8.xml:44(contrib) chpasswd.8.xml:45(contrib)
msgid "Creation, 1991"
msgstr ""
#: usermod.8.xml:64(refentrytitle) usermod.8.xml:71(refname)
-#: usermod.8.xml:77(command) login.defs.5.xml:510(term)
+#: usermod.8.xml:77(command) login.defs.5.xml:514(term)
msgid "usermod"
msgstr "usermod"
@@ -692,8 +692,8 @@ msgstr "将用户添加到附加组。åªèƒ½å’Œ <option>-G</option> 选项一起
msgid "<option>-b</option>, <option>--badnames</option>"
msgstr "<option>-r</option>, <option>--reset</option>"
-#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:190(para)
-#: newusers.8.xml:276(para)
+#: usermod.8.xml:116(para) useradd.8.xml:135(para) pwck.8.xml:191(para)
+#: newusers.8.xml:284(para)
msgid "Allow names that do not conform to standards."
msgstr ""
@@ -731,15 +731,21 @@ msgid "The user's new login directory."
msgstr "用户的新登录目录。"
#: usermod.8.xml:142(para)
+#, fuzzy
+#| msgid ""
+#| "If the <option>-m</option> option is given, the contents of the current "
+#| "home directory will be moved to the new home directory, which is created "
+#| "if it does not already exist."
msgid ""
"If the <option>-m</option> option is given, the contents of the current home "
"directory will be moved to the new home directory, which is created if it "
-"does not already exist."
+"does not already exist. If the current home directory does not exist the new "
+"home directory will not be created."
msgstr ""
"如果给了 <option>-m</option> 选项,当å‰ä¸»ç›®å½•çš„内容将会移动到新主目录中,如果"
"ä¸å­˜åœ¨ï¼Œåˆ™åˆ›å»ºã€‚"
-#: usermod.8.xml:151(term) useradd.8.xml:200(term) useradd.8.xml:577(term)
+#: usermod.8.xml:152(term) useradd.8.xml:202(term) useradd.8.xml:584(term)
msgid ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -747,7 +753,7 @@ msgstr ""
"<option>-e</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
-#: usermod.8.xml:155(para) useradd.8.xml:204(para)
+#: usermod.8.xml:156(para) useradd.8.xml:206(para)
msgid ""
"The date on which the user account will be disabled. The date is specified "
"in the format <emphasis remap=\"I\">YYYY-MM-DD</emphasis>."
@@ -755,13 +761,13 @@ msgstr ""
"用户账户将被ç¦ç”¨çš„日期。日期以 <emphasis remap=\"I\">YYYY-MM-DD</emphasis> æ ¼"
"å¼æŒ‡å®šã€‚"
-#: usermod.8.xml:159(para)
+#: usermod.8.xml:160(para)
msgid ""
"An empty <replaceable>EXPIRE_DATE</replaceable> argument will disable the "
"expiration of the account."
msgstr "空 <replaceable>EXPIRE_DATE</replaceable> å‚æ•°å°†ç¦ç”¨è´¦æˆ·è¿‡æœŸã€‚"
-#: usermod.8.xml:163(para) usermod.8.xml:184(para)
+#: usermod.8.xml:164(para) usermod.8.xml:185(para)
msgid ""
"This option requires a <filename>/etc/shadow</filename> file. A <filename>/"
"etc/shadow</filename> entry will be created if there were none."
@@ -769,7 +775,7 @@ msgstr ""
"此选项需è¦ä¸€ä¸ª <filename>/etc/passwd</filename> æ–‡ä»¶ã€‚å¦‚æžœæ²¡æœ‰ï¼Œå°†ä¼šåˆ›å»ºä¸€æ¡ "
"<filename>/etc/shadow</filename> 项目。"
-#: usermod.8.xml:171(term) useradd.8.xml:217(term) useradd.8.xml:589(term)
+#: usermod.8.xml:172(term) useradd.8.xml:219(term) useradd.8.xml:596(term)
msgid ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -777,19 +783,19 @@ msgstr ""
"<option>-f</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
-#: usermod.8.xml:175(para)
+#: usermod.8.xml:176(para)
msgid ""
"The number of days after a password expires until the account is permanently "
"disabled."
msgstr "密ç è¿‡æœŸä¹‹åŽï¼Œè´¦æˆ·è¢«å½»åº•ç¦ç”¨ä¹‹å‰çš„天数。"
-#: usermod.8.xml:179(para)
+#: usermod.8.xml:180(para)
msgid ""
"A value of 0 disables the account as soon as the password has expired, and a "
"value of -1 disables the feature."
msgstr "0 表示密ç è¿‡æœŸæ—¶ï¼Œç«‹å³ç¦ç”¨è´¦æˆ·ï¼›-1 表示ä¸ä½¿ç”¨è¿™ä¸ªåŠŸèƒ½ã€‚"
-#: usermod.8.xml:192(term) useradd.8.xml:236(term) useradd.8.xml:604(term)
+#: usermod.8.xml:193(term) useradd.8.xml:238(term) useradd.8.xml:611(term)
msgid ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
@@ -797,25 +803,33 @@ msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GROUP</"
"replaceable>"
-#: usermod.8.xml:196(para)
+#: usermod.8.xml:197(para)
msgid ""
"The group name or number of the user's new initial login group. The group "
"must exist."
msgstr "用户的新åˆå§‹ç™»å½•ç»„的组å或数字代å·ã€‚此组必须存在。"
-#: usermod.8.xml:200(para)
+#: usermod.8.xml:201(para)
msgid ""
"Any file from the user's home directory owned by the previous primary group "
"of the user will be owned by this new group."
msgstr "用户主目录中,属于原æ¥çš„主组的文件将转交新组所有。"
-#: usermod.8.xml:204(para)
+#: usermod.8.xml:205(para)
msgid ""
"The group ownership of files outside of the user's home directory must be "
"fixed manually."
msgstr "主目录之外的文件所属的组必须手动修改。"
-#: usermod.8.xml:211(term) useradd.8.xml:263(term)
+#: usermod.8.xml:209(para)
+msgid ""
+"The change of the group ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:218(term) useradd.8.xml:265(term)
msgid ""
"<option>-G</option>, <option>--groups</option>&nbsp;<replaceable>GROUP1</"
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
@@ -825,7 +839,7 @@ msgstr ""
"replaceable>[<emphasis remap=\"I\">,GROUP2,...</emphasis>[<emphasis remap=\"I"
"\">,GROUPN</emphasis>]]]"
-#: usermod.8.xml:215(para)
+#: usermod.8.xml:222(para)
msgid ""
"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. "
@@ -835,7 +849,7 @@ msgstr ""
"用户还属于的附加组列表。组之间使用逗å·åˆ†éš”,没有空格。这些组需è¦éµå®ˆå’Œ "
"<option>-g</option> 选项中给的组åŒæ ·çš„é™åˆ¶ã€‚"
-#: usermod.8.xml:222(para)
+#: usermod.8.xml:229(para)
msgid ""
"If the user is currently a member of a group which is not listed, the user "
"will be removed from the group. This behaviour can be changed via the "
@@ -846,7 +860,7 @@ msgstr ""
"这个行为å¯ä»¥é€šè¿‡ <option>-a</option> 选项修改,这使用户追加到给出的附加组列表"
"中。"
-#: usermod.8.xml:231(term)
+#: usermod.8.xml:238(term)
msgid ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
@@ -854,7 +868,7 @@ msgstr ""
"<option>-l</option>, <option>--login</option>&nbsp;<replaceable>NEW_LOGIN</"
"replaceable>"
-#: usermod.8.xml:235(para)
+#: usermod.8.xml:242(para)
msgid ""
"The name of the user will be changed from <replaceable>LOGIN</replaceable> "
"to <replaceable>NEW_LOGIN</replaceable>. Nothing else is changed. In "
@@ -865,11 +879,11 @@ msgstr ""
"<replaceable>NEW_LOGIN</replaceable>。ä¸ä¼šæ›´æ”¹åˆ«çš„任何东西。特别是,用户的主"
"目录å和邮件池也需è¦æ‰‹åŠ¨ä¿®æ”¹ä»¥å’Œæ–°ç™»å½•å对应。"
-#: usermod.8.xml:245(term)
+#: usermod.8.xml:252(term)
msgid "<option>-L</option>, <option>--lock</option>"
msgstr "<option>-L</option>, <option>--lock</option>"
-#: usermod.8.xml:249(para)
+#: usermod.8.xml:256(para)
msgid ""
"Lock a user's password. This puts a '!' in front of the encrypted password, "
"effectively disabling the password. You can't use this option with <option>-"
@@ -878,7 +892,7 @@ msgstr ""
"é”定用户的密ç ã€‚这会在用户加密的密ç ä¹‹å‰æ”¾ç½®ä¸€ä¸ªâ€œ!â€ï¼Œå¯ä»¥å¿«é€Ÿç¦ç”¨å¯†ç ã€‚您å¯ä»¥"
"å’Œ <option>-p</option> 或 <option>-U</option> é…åˆä½¿ç”¨æ­¤é€‰é¡¹ã€‚"
-#: usermod.8.xml:255(para)
+#: usermod.8.xml:262(para)
msgid ""
"Note: if you wish to lock the account (not only access with a password), you "
"should also set the <replaceable>EXPIRE_DATE</replaceable> to "
@@ -887,15 +901,18 @@ msgstr ""
"注æ„:如果希望é”定账户(ä¸ä»…仅是通过密ç è®¿é—®),您也需è¦è®¾ç½® "
"<replaceable>EXPIRE_DATE</replaceable> 为 <replaceable>1</replaceable>。"
-#: usermod.8.xml:264(term)
+#: usermod.8.xml:271(term)
msgid "<option>-m</option>, <option>--move-home</option>"
msgstr "<option>-m</option>, <option>--move-home</option>"
-#: usermod.8.xml:268(para)
-msgid "Move the content of the user's home directory to the new location."
-msgstr "将用户的主目录移动到新ä½ç½®ã€‚"
+#: usermod.8.xml:275(para)
+msgid ""
+"Move the content of the user's home directory to the new location. If the "
+"current home directory does not exist the new home directory will not be "
+"created."
+msgstr ""
-#: usermod.8.xml:272(para)
+#: usermod.8.xml:280(para)
msgid ""
"This option is only valid in combination with the <option>-d</option> (or "
"<option>--home</option>) option."
@@ -903,7 +920,7 @@ msgstr ""
"这个选项åªæœ‰å’Œ <option>-d</option> (或 <option>--home</option>) 选项组åˆä½¿ç”¨"
"æ—¶æ‰æœ‰æ•ˆã€‚"
-#: usermod.8.xml:276(para)
+#: usermod.8.xml:284(para)
msgid ""
"<command>usermod</command> will try to adapt the ownership of the files and "
"to copy the modes, ACL and extended attributes, but manual changes might be "
@@ -912,18 +929,18 @@ msgstr ""
"<command>usermod</command> 会改写文件的属主并å¤åˆ¶æ¨¡å¼ã€ACL 和扩展属性,但是ç¨"
"åŽä¹Ÿå¯èƒ½éœ€è¦æ‰‹åŠ¨ä¿®æ”¹ã€‚"
-#: usermod.8.xml:284(term) useradd.8.xml:397(term) groupmod.8.xml:146(term)
+#: usermod.8.xml:292(term) useradd.8.xml:404(term) groupmod.8.xml:155(term)
#: groupadd.8.xml:157(term)
msgid "<option>-o</option>, <option>--non-unique</option>"
msgstr "<option>-o</option>, <option>--non-unique</option>"
-#: usermod.8.xml:288(para)
+#: usermod.8.xml:296(para)
msgid ""
"When used with the <option>-u</option> option, this option allows to change "
"the user ID to a non-unique value."
msgstr "使用 <option>-u</option> 选项时,å¯ä»¥å°†ç”¨æˆ· ID 改为éžå”¯ä¸€çš„值。"
-#: usermod.8.xml:295(term) useradd.8.xml:409(term) groupmod.8.xml:157(term)
+#: usermod.8.xml:303(term) useradd.8.xml:416(term) groupmod.8.xml:166(term)
#: groupadd.8.xml:167(term)
msgid ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
@@ -932,7 +949,7 @@ msgstr ""
"<option>-p</option>, <option>--password</option>&nbsp;<replaceable>PASSWORD</"
"replaceable>"
-#: usermod.8.xml:299(para) groupmod.8.xml:161(para)
+#: usermod.8.xml:307(para) groupmod.8.xml:170(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
@@ -940,7 +957,7 @@ msgstr ""
"å·²ç»åŠ å¯†è¿‡çš„密ç ï¼Œå°±åƒ <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry> 返回的那样。"
-#: usermod.8.xml:304(para) useradd.8.xml:418(para) groupmod.8.xml:166(para)
+#: usermod.8.xml:312(para) useradd.8.xml:425(para) groupmod.8.xml:175(para)
#: groupadd.8.xml:176(para)
msgid ""
"<emphasis role=\"bold\">Note:</emphasis> This option is not recommended "
@@ -950,7 +967,7 @@ msgstr ""
"<emphasis role=\"bold\">注æ„:</emphasis>ä¸æŽ¨è使用这个选项,因为密ç (或加密"
"过的密ç )会被用户通过列出这个过程而看到。"
-#: usermod.8.xml:309(para)
+#: usermod.8.xml:317(para)
msgid ""
"The password will be written in the local <filename>/etc/passwd</filename> "
"or <filename>/etc/shadow</filename> file. This might differ from the "
@@ -960,14 +977,14 @@ msgstr ""
"shadow</filename> 文件。这å¯èƒ½ä¼šä¸Žæ‚¨çš„机器有所ä¸åŒï¼Œè¿™æ ¹æ® PAM é…置中的密ç æ•°"
"æ®åº“é…置而定。"
-#: usermod.8.xml:315(para) useradd.8.xml:423(para) groupmod.8.xml:171(para)
+#: usermod.8.xml:323(para) useradd.8.xml:430(para) groupmod.8.xml:180(para)
#: groupadd.8.xml:181(para)
msgid ""
"You should make sure the password respects the system's password policy."
msgstr "您应该确ä¿å¯†ç ç¬¦åˆç³»ç»Ÿçš„密ç æ”¿ç­–。"
-#: usermod.8.xml:334(term) userdel.8.xml:158(term) useradd.8.xml:469(term)
-#: groupmod.8.xml:190(term) groupdel.8.xml:113(term) groupadd.8.xml:216(term)
+#: usermod.8.xml:342(term) userdel.8.xml:158(term) useradd.8.xml:476(term)
+#: groupmod.8.xml:199(term) groupdel.8.xml:124(term) groupadd.8.xml:216(term)
#, fuzzy
#| msgid ""
#| "<option>-d</option>, <option>--home-dir</option>&nbsp;"
@@ -979,8 +996,8 @@ msgstr ""
"<option>-d</option>, <option>--home-dir</option>&nbsp;<replaceable>HOME_DIR</"
"replaceable>"
-#: usermod.8.xml:338(para) userdel.8.xml:162(para) useradd.8.xml:473(para)
-#: groupmod.8.xml:194(para) groupdel.8.xml:117(para) groupadd.8.xml:220(para)
+#: usermod.8.xml:346(para) userdel.8.xml:162(para) useradd.8.xml:480(para)
+#: groupmod.8.xml:203(para) groupdel.8.xml:128(para) groupadd.8.xml:220(para)
msgid ""
"Apply changes in the <replaceable>PREFIX_DIR</replaceable> directory and use "
"the configuration files from the <replaceable>PREFIX_DIR</replaceable> "
@@ -989,7 +1006,7 @@ msgid ""
"verified. PAM authentication is using the host files. No SELINUX support."
msgstr ""
-#: usermod.8.xml:351(term) useradd.8.xml:486(term) useradd.8.xml:624(term)
+#: usermod.8.xml:359(term) useradd.8.xml:493(term) useradd.8.xml:631(term)
#: su.1.xml:186(term) chsh.1.xml:119(term)
msgid ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
@@ -998,14 +1015,18 @@ msgstr ""
"<option>-s</option>, <option>--shell</option>&nbsp;<replaceable>SHELL</"
"replaceable>"
-#: usermod.8.xml:355(para) chsh.1.xml:123(para)
+#: usermod.8.xml:363(para)
+#, fuzzy
+#| msgid ""
+#| "The name of the user's new login shell. Setting this field to blank "
+#| "causes the system to select the default login shell."
msgid ""
-"The name of the user's new login shell. Setting this field to blank causes "
+"The path of the user's new login shell. Setting this field to blank causes "
"the system to select the default login shell."
msgstr ""
"用户的新登录 shell çš„å称。将此字段设置为空会让系统选择默认的登录 shell。"
-#: usermod.8.xml:362(term) useradd.8.xml:500(term)
+#: usermod.8.xml:370(term) useradd.8.xml:507(term)
msgid ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
@@ -1013,31 +1034,39 @@ msgstr ""
"<option>-u</option>, <option>--uid</option>&nbsp;<replaceable>UID</"
"replaceable>"
-#: usermod.8.xml:366(para)
+#: usermod.8.xml:374(para)
msgid "The new numerical value of the user's ID."
msgstr "用户 ID 的新数值。"
-#: usermod.8.xml:369(para)
+#: usermod.8.xml:377(para)
msgid ""
"This value must be unique, unless the <option>-o</option> option is used. "
"The value must be non-negative."
msgstr ""
"这个值必须是唯一的,除éžä½¿ç”¨äº† <option>-o</option> 选项,必须是éžè´Ÿå€¼ã€‚"
-#: usermod.8.xml:374(para)
+#: usermod.8.xml:382(para)
msgid ""
"The user's mailbox, and any files which the user owns and which are located "
"in the user's home directory will have the file user ID changed "
"automatically."
msgstr "用户的邮箱,用户主目录中属于此用户的文件的属主 ID 也将自动更改。"
-#: usermod.8.xml:379(para)
+#: usermod.8.xml:387(para)
msgid ""
"The ownership of files outside of the user's home directory must be fixed "
"manually."
msgstr "用户主目录之外文件所有æƒå¿…须手动修å¤ã€‚"
-#: usermod.8.xml:383(para)
+#: usermod.8.xml:391(para)
+msgid ""
+"The change of the user ownership of files inside of the user's home "
+"directory is also not done if the home dir owner uid is different from the "
+"current or new user id. This is a safety measure for special home "
+"directories such as <filename>/</filename>."
+msgstr ""
+
+#: usermod.8.xml:397(para)
msgid ""
"No checks will be performed with regard to the <option>UID_MIN</option>, "
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option>, or "
@@ -1047,11 +1076,11 @@ msgstr ""
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option> 和 "
"<option>SYS_UID_MAX</option> 进行检查。"
-#: usermod.8.xml:392(term)
+#: usermod.8.xml:406(term)
msgid "<option>-U</option>, <option>--unlock</option>"
msgstr "<option>-U</option>, <option>--unlock</option>"
-#: usermod.8.xml:396(para)
+#: usermod.8.xml:410(para)
msgid ""
"Unlock a user's password. This removes the '!' in front of the encrypted "
"password. You can't use this option with <option>-p</option> or <option>-L</"
@@ -1060,7 +1089,7 @@ msgstr ""
"解é”用户的密ç ã€‚这将移除加密的密ç ä¹‹å‰çš„“!â€ã€‚您å¯ä»¥å°†æ­¤é€‰é¡¹å’Œ <option>-p</"
"option> 或 <option>-L</option> é…åˆä½¿ç”¨ã€‚"
-#: usermod.8.xml:401(para)
+#: usermod.8.xml:415(para)
msgid ""
"Note: if you wish to unlock the account (not only access with a password), "
"you should also set the <replaceable>EXPIRE_DATE</replaceable> (for example "
@@ -1072,7 +1101,7 @@ msgstr ""
"replaceable>,或者 <filename>/etc/default/useradd</filename> 中的 "
"<option>EXPIRE</option> 值)。"
-#: usermod.8.xml:412(term)
+#: usermod.8.xml:426(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1084,17 +1113,17 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>RANGE</replaceable>"
-#: usermod.8.xml:416(para)
+#: usermod.8.xml:430(para)
msgid "Add a range of subordinate uids to the user's account."
msgstr ""
-#: usermod.8.xml:419(para) usermod.8.xml:457(para)
+#: usermod.8.xml:433(para) usermod.8.xml:471(para)
msgid ""
"This option may be specified multiple times to add multiple ranges to a "
"users account."
msgstr ""
-#: usermod.8.xml:422(para) usermod.8.xml:442(para)
+#: usermod.8.xml:436(para) usermod.8.xml:456(para)
#, fuzzy
#| msgid ""
#| "No checks will be performed with regard to the <option>UID_MIN</option>, "
@@ -1109,7 +1138,7 @@ msgstr ""
"<option>UID_MAX</option>, <option>SYS_UID_MIN</option> 和 "
"<option>SYS_UID_MAX</option> 进行检查。"
-#: usermod.8.xml:430(term)
+#: usermod.8.xml:444(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1121,11 +1150,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>RANGE</replaceable>"
-#: usermod.8.xml:434(para)
+#: usermod.8.xml:448(para)
msgid "Remove a range of subordinate uids from the user's account."
msgstr ""
-#: usermod.8.xml:437(para)
+#: usermod.8.xml:451(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subuids</option> and <option>--add-"
@@ -1133,7 +1162,7 @@ msgid ""
"happens before any subordinate uid range is added."
msgstr ""
-#: usermod.8.xml:450(term)
+#: usermod.8.xml:464(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1145,11 +1174,11 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>RANGE</replaceable>"
-#: usermod.8.xml:454(para)
+#: usermod.8.xml:468(para)
msgid "Add a range of subordinate gids to the user's account."
msgstr ""
-#: usermod.8.xml:460(para) usermod.8.xml:480(para)
+#: usermod.8.xml:474(para) usermod.8.xml:494(para)
#, fuzzy
#| msgid ""
#| "The default behavior (if the <option>-g</option>, <option>-N</option>, "
@@ -1165,7 +1194,7 @@ msgstr ""
"选项,默认行为由 <filename>/etc/login.defs</filename> 中的 "
"<option>USERGROUPS_ENAB</option> å˜é‡æŒ‡å®šã€‚"
-#: usermod.8.xml:468(term)
+#: usermod.8.xml:482(term)
#, fuzzy
#| msgid ""
#| "<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
@@ -1177,13 +1206,13 @@ msgstr ""
"<option>-u</option>, <option>--user</option>&nbsp;<replaceable>LOGIN</"
"replaceable>|<replaceable>RANGE</replaceable>"
-#: usermod.8.xml:472(para)
+#: usermod.8.xml:486(para)
#, fuzzy
#| msgid "Remove any SELinux user mapping for the user's login."
msgid "Remove a range of subordinate gids from the user's account."
msgstr "移除用户登录的所有 SELinux 用户映射。"
-#: usermod.8.xml:475(para)
+#: usermod.8.xml:489(para)
msgid ""
"This option may be specified multiple times to remove multiple ranges to a "
"users account. When both <option>--del-subgids</option> and <option>--add-"
@@ -1191,7 +1220,7 @@ msgid ""
"happens before any subordinate gid range is added."
msgstr ""
-#: usermod.8.xml:488(term) useradd.8.xml:535(term)
+#: usermod.8.xml:502(term) useradd.8.xml:542(term)
msgid ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
@@ -1199,11 +1228,11 @@ msgstr ""
"<option>-Z</option>, <option>--selinux-user</option>&nbsp;"
"<replaceable>SEUSER</replaceable>"
-#: usermod.8.xml:492(para)
+#: usermod.8.xml:506(para)
msgid "The new SELinux user for the user's login."
-msgstr "用户登陆的 SELinux 用户。"
+msgstr "用户登录的 SELinux 用户。"
-#: usermod.8.xml:495(para)
+#: usermod.8.xml:509(para)
msgid ""
"A blank <replaceable>SEUSER</replaceable> will remove the SELinux user "
"mapping for user <replaceable>LOGIN</replaceable> (if any)."
@@ -1211,16 +1240,16 @@ msgstr ""
"空的 <replaceable>SEUSER</replaceable> 将移除用户 <replaceable>LOGIN</"
"replaceable> 的 SELinux 用户映射(如果有)。"
-#: usermod.8.xml:506(title) userdel.8.xml:298(title) useradd.8.xml:652(title)
+#: usermod.8.xml:520(title) userdel.8.xml:304(title) useradd.8.xml:659(title)
#: su.1.xml:330(title) shadow.3.xml:218(title) passwd.1.xml:377(title)
-#: newusers.8.xml:363(title) login.1.xml:260(title) lastlog.8.xml:229(title)
-#: groupdel.8.xml:133(title) groupadd.8.xml:274(title) gpasswd.1.xml:252(title)
+#: newusers.8.xml:371(title) login.1.xml:260(title) lastlog.8.xml:229(title)
+#: groupdel.8.xml:144(title) groupadd.8.xml:290(title) gpasswd.1.xml:252(title)
#: faillog.8.xml:232(title) chpasswd.8.xml:231(title)
#: chgpasswd.8.xml:186(title)
msgid "CAVEATS"
msgstr "CAVEATS"
-#: usermod.8.xml:507(para)
+#: usermod.8.xml:521(para)
#, fuzzy
#| msgid ""
#| "You must make certain that the named user is not executing any processes "
@@ -1239,7 +1268,7 @@ msgstr ""
"进程。<command>usermod</command> 会在 Linux 上进行检查;但是在其它平å°ä¸Šï¼Œä»…"
"ä»…æ ¹æ® utmp 检查用户是å¦å·²ç»ç™»å½•ã€‚"
-#: usermod.8.xml:514(para)
+#: usermod.8.xml:528(para)
msgid ""
"You must change the owner of any <command>crontab</command> files or "
"<command>at</command> jobs manually."
@@ -1247,7 +1276,7 @@ msgstr ""
"您必须手动更改 <command>crontab</command> 文件或 <command>at</command> 作业的"
"属主。"
-#: usermod.8.xml:518(para)
+#: usermod.8.xml:532(para)
msgid "You must make any changes involving NIS on the NIS server."
msgstr "您必须更改 NIS æœåŠ¡å™¨ä¸Šçš„ NIS 相关内容。"
@@ -1530,50 +1559,50 @@ msgstr ""
"如果是 <replaceable>yes</replaceable>,è¦åˆ›å»ºç”¨æˆ· tcb 目录ä¸ä¼šè‡ªåŠ¨è®¾ç½®ä¸º /"
"etc/tcb/user,但是会根æ®ç”¨æˆ·çš„ UID 计算,根æ®çš„算法如下:<placeholder-1/>"
-#: usermod.8.xml:557(filename) userdel.8.xml:214(filename)
-#: useradd.8.xml:757(filename) su.1.xml:381(filename)
+#: usermod.8.xml:571(filename) userdel.8.xml:214(filename)
+#: useradd.8.xml:770(filename) su.1.xml:381(filename)
#: pwconv.8.xml:253(filename) passwd.1.xml:428(filename)
-#: newusers.8.xml:438(filename) login.access.5.xml:124(filename)
-#: login.1.xml:389(filename) groupmod.8.xml:237(filename)
-#: groupadd.8.xml:265(filename) chsh.1.xml:182(filename)
+#: newusers.8.xml:446(filename) login.access.5.xml:124(filename)
+#: login.1.xml:389(filename) groupmod.8.xml:262(filename)
+#: groupadd.8.xml:281(filename) chsh.1.xml:182(filename)
#: chpasswd.8.xml:270(filename) chgpasswd.8.xml:228(filename)
#: chfn.1.xml:210(filename)
msgid "/etc/login.defs"
msgstr "/etc/login.defs"
-#: usermod.8.xml:559(para) userdel.8.xml:216(para) useradd.8.xml:759(para)
+#: usermod.8.xml:573(para) userdel.8.xml:216(para) useradd.8.xml:772(para)
#: su.1.xml:383(para) pwconv.8.xml:255(para) passwd.1.xml:430(para)
-#: newusers.8.xml:440(para) login.access.5.xml:126(para) login.1.xml:391(para)
-#: groupmod.8.xml:239(para) groupadd.8.xml:267(para) chsh.1.xml:184(para)
+#: newusers.8.xml:448(para) login.access.5.xml:126(para) login.1.xml:391(para)
+#: groupmod.8.xml:264(para) groupadd.8.xml:283(para) chsh.1.xml:184(para)
#: chpasswd.8.xml:272(para) chgpasswd.8.xml:230(para) chfn.1.xml:212(para)
msgid "Shadow password suite configuration."
msgstr "Shadow 密ç å¥—件é…置。"
-#: usermod.8.xml:575(filename) userdel.8.xml:232(filename)
-#: useradd.8.xml:745(filename) newusers.8.xml:450(filename)
+#: usermod.8.xml:589(filename) userdel.8.xml:238(filename)
+#: useradd.8.xml:758(filename) newusers.8.xml:458(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subgid"
msgstr "/etc/suauth"
-#: usermod.8.xml:577(para) userdel.8.xml:234(para) useradd.8.xml:747(para)
-#: newusers.8.xml:452(para)
+#: usermod.8.xml:591(para) userdel.8.xml:240(para) useradd.8.xml:760(para)
+#: newusers.8.xml:460(para)
msgid "Per user subordinate group IDs."
msgstr ""
-#: usermod.8.xml:581(filename) userdel.8.xml:238(filename)
-#: useradd.8.xml:751(filename) newusers.8.xml:456(filename)
+#: usermod.8.xml:595(filename) userdel.8.xml:244(filename)
+#: useradd.8.xml:764(filename) newusers.8.xml:464(filename)
#, fuzzy
#| msgid "/etc/suauth"
msgid "/etc/subuid"
msgstr "/etc/suauth"
-#: usermod.8.xml:583(para) userdel.8.xml:240(para) useradd.8.xml:753(para)
-#: newusers.8.xml:458(para)
+#: usermod.8.xml:597(para) userdel.8.xml:246(para) useradd.8.xml:766(para)
+#: newusers.8.xml:466(para)
msgid "Per user subordinate user IDs."
msgstr ""
-#: usermod.8.xml:591(para)
+#: usermod.8.xml:605(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -1634,7 +1663,7 @@ msgstr ""
"manvolnum></citerefentry>."
#: userdel.8.xml:63(refentrytitle) userdel.8.xml:70(refname)
-#: userdel.8.xml:75(command) login.defs.5.xml:500(term)
+#: userdel.8.xml:75(command) login.defs.5.xml:504(term)
msgid "userdel"
msgstr "userdel"
@@ -1655,7 +1684,8 @@ msgstr ""
msgid "The options which apply to the <command>userdel</command> command are:"
msgstr "<command>userdel</command> å¯ä»¥ä½¿ç”¨çš„选项有:"
-#: userdel.8.xml:99(term) groupadd.8.xml:100(term) expiry.1.xml:103(term)
+#: userdel.8.xml:99(term) groupdel.8.xml:95(term) groupadd.8.xml:100(term)
+#: expiry.1.xml:103(term)
msgid "<option>-f</option>, <option>--force</option>"
msgstr "<option>-f</option>, <option>--force</option>"
@@ -1816,97 +1846,119 @@ msgstr ""
"<command>userdel</command> 将移除此用户组,<command>useradd</command> 创建用"
"户时,也会创建一个åŒå的默认组。"
-#: userdel.8.xml:247(title) useradd.8.xml:766(title) su.1.xml:390(title)
-#: pwck.8.xml:303(title) passwd.1.xml:443(title) grpck.8.xml:245(title)
-#: groupmod.8.xml:252(title) groupdel.8.xml:175(title)
-#: groupadd.8.xml:296(title) chage.1.xml:284(title)
+#: userdel.8.xml:232(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/userdel-post.d/*</filename>"
+msgstr ""
+"æ ¹æ® UID 在 <filename>/etc/passwd</filename> å’Œ <filename>/etc/shadow</"
+"filename> 对项目进行排åºã€‚"
+
+#: userdel.8.xml:234(para)
+msgid ""
+"Run-part files to execute during user deletion. The environment variable "
+"<command>ACTION</command> will be populated with <command>userdel</command> "
+"and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</"
+"filename> will be executed prior to any user deletion. <filename>userdel-"
+"post.d</filename> will execute after user deletion. If a script exits non-"
+"zero then execution will terminate."
+msgstr ""
+
+#: userdel.8.xml:253(title) useradd.8.xml:779(title) su.1.xml:390(title)
+#: pwck.8.xml:305(title) passwd.1.xml:443(title) grpck.8.xml:255(title)
+#: groupmod.8.xml:277(title) groupdel.8.xml:186(title)
+#: groupadd.8.xml:312(title) chage.1.xml:306(title)
msgid "EXIT VALUES"
msgstr "退出值"
-#: userdel.8.xml:252(replaceable) useradd.8.xml:771(replaceable)
-#: su.1.xml:409(replaceable) pwck.8.xml:308(replaceable)
-#: passwd.1.xml:448(replaceable) grpck.8.xml:250(replaceable)
-#: groupmod.8.xml:257(replaceable) groupdel.8.xml:180(replaceable)
-#: groupadd.8.xml:301(replaceable) chage.1.xml:289(replaceable)
+#: userdel.8.xml:258(replaceable) useradd.8.xml:784(replaceable)
+#: su.1.xml:409(replaceable) pwck.8.xml:310(replaceable)
+#: passwd.1.xml:448(replaceable) grpck.8.xml:260(replaceable)
+#: groupmod.8.xml:282(replaceable) groupdel.8.xml:191(replaceable)
+#: groupadd.8.xml:317(replaceable) chage.1.xml:311(replaceable)
msgid "0"
msgstr "0"
-#: userdel.8.xml:254(para) useradd.8.xml:773(para) pwck.8.xml:310(para)
-#: passwd.1.xml:450(para) grpck.8.xml:252(para) groupdel.8.xml:182(para)
-#: groupadd.8.xml:303(para) chage.1.xml:291(para)
+#: userdel.8.xml:260(para) useradd.8.xml:786(para) pwck.8.xml:312(para)
+#: passwd.1.xml:450(para) grpck.8.xml:262(para) groupdel.8.xml:193(para)
+#: groupadd.8.xml:319(para) chage.1.xml:313(para)
msgid "success"
msgstr "æˆåŠŸ"
-#: userdel.8.xml:258(replaceable) useradd.8.xml:777(replaceable)
+#: userdel.8.xml:264(replaceable) useradd.8.xml:790(replaceable)
#: su.1.xml:75(manvolnum) su.1.xml:415(replaceable) sg.1.xml:59(manvolnum)
-#: pwck.8.xml:314(replaceable) passwd.1.xml:65(manvolnum)
+#: pwck.8.xml:316(replaceable) passwd.1.xml:65(manvolnum)
#: passwd.1.xml:454(replaceable) newgrp.1.xml:59(manvolnum)
-#: login.1.xml:91(manvolnum) grpck.8.xml:256(replaceable)
+#: login.1.xml:91(manvolnum) grpck.8.xml:266(replaceable)
#: groups.1.xml:58(manvolnum) gpasswd.1.xml:63(manvolnum)
#: expiry.1.xml:62(manvolnum) chsh.1.xml:61(manvolnum) chfn.1.xml:61(manvolnum)
-#: chage.1.xml:59(manvolnum) chage.1.xml:295(replaceable)
+#: chage.1.xml:59(manvolnum) chage.1.xml:317(replaceable)
msgid "1"
msgstr "1"
-#: userdel.8.xml:260(para) useradd.8.xml:779(para)
+#: userdel.8.xml:266(para) useradd.8.xml:792(para)
msgid "can't update password file"
msgstr "无法更新密ç æ–‡ä»¶"
-#: userdel.8.xml:264(replaceable) useradd.8.xml:783(replaceable)
-#: pwck.8.xml:320(replaceable) passwd.1.xml:460(replaceable)
-#: grpck.8.xml:262(replaceable) groupmod.8.xml:263(replaceable)
-#: groupdel.8.xml:186(replaceable) groupadd.8.xml:307(replaceable)
-#: chage.1.xml:301(replaceable)
+#: userdel.8.xml:270(replaceable) useradd.8.xml:796(replaceable)
+#: pwck.8.xml:322(replaceable) passwd.1.xml:460(replaceable)
+#: grpck.8.xml:272(replaceable) groupmod.8.xml:288(replaceable)
+#: groupdel.8.xml:197(replaceable) groupadd.8.xml:323(replaceable)
+#: chage.1.xml:323(replaceable)
msgid "2"
msgstr "2"
-#: userdel.8.xml:266(para) useradd.8.xml:785(para) pwck.8.xml:316(para)
-#: grpck.8.xml:258(para) groupdel.8.xml:188(para) groupadd.8.xml:309(para)
-#: chage.1.xml:303(para)
+#: userdel.8.xml:272(para) useradd.8.xml:798(para) pwck.8.xml:318(para)
+#: grpck.8.xml:268(para) groupdel.8.xml:199(para) groupadd.8.xml:325(para)
+#: chage.1.xml:325(para)
msgid "invalid command syntax"
msgstr "无效的命令语法"
-#: userdel.8.xml:270(replaceable) useradd.8.xml:801(replaceable)
-#: pwck.8.xml:344(replaceable) passwd.1.xml:484(replaceable)
-#: groupmod.8.xml:281(replaceable) groupdel.8.xml:192(replaceable)
+#: userdel.8.xml:276(replaceable) useradd.8.xml:814(replaceable)
+#: pwck.8.xml:346(replaceable) passwd.1.xml:484(replaceable)
+#: groupmod.8.xml:306(replaceable) groupdel.8.xml:203(replaceable)
msgid "6"
msgstr "6"
-#: userdel.8.xml:272(para)
+#: userdel.8.xml:278(para)
msgid "specified user doesn't exist"
msgstr "指定的用户ä¸å­˜åœ¨"
-#: userdel.8.xml:278(para)
+#: userdel.8.xml:284(para)
msgid "user currently logged in"
msgstr "用户已ç»ç™»å½•"
-#: userdel.8.xml:282(replaceable) useradd.8.xml:813(replaceable)
-#: groupmod.8.xml:293(replaceable) groupdel.8.xml:204(replaceable)
-#: groupadd.8.xml:331(replaceable)
+#: userdel.8.xml:288(replaceable) useradd.8.xml:826(replaceable)
+#: groupmod.8.xml:318(replaceable) groupdel.8.xml:215(replaceable)
+#: groupadd.8.xml:347(replaceable)
msgid "10"
msgstr "10"
-#: userdel.8.xml:284(para) useradd.8.xml:815(para) groupdel.8.xml:206(para)
-#: groupadd.8.xml:333(para)
+#: userdel.8.xml:290(para) useradd.8.xml:828(para) groupdel.8.xml:217(para)
+#: groupadd.8.xml:349(para)
msgid "can't update group file"
msgstr "无法更新组文件"
-#: userdel.8.xml:288(replaceable) useradd.8.xml:819(replaceable)
-#: groupmod.8.xml:305(replaceable)
+#: userdel.8.xml:294(replaceable) useradd.8.xml:832(replaceable)
+#: groupmod.8.xml:330(replaceable)
msgid "12"
msgstr "12"
-#: userdel.8.xml:290(para)
+#: userdel.8.xml:296(para)
msgid "can't remove home directory"
msgstr "无法删除主目录"
-#: userdel.8.xml:248(para)
+#: userdel.8.xml:254(para)
msgid ""
"The <command>userdel</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>userdel</command> 命令使用如下值退出:<placeholder-1/>"
-#: userdel.8.xml:299(para)
+#: userdel.8.xml:305(para)
msgid ""
"<command>userdel</command> will not allow you to remove an account if there "
"are running processes which belong to this account. In that case, you may "
@@ -1918,19 +1970,19 @@ msgstr ""
"您å¯èƒ½å¿…é¡»è¦æ€æ­»é‚£å†™è¿›ç¨‹æˆ–者é”定用户的密ç å’Œè´¦æˆ·ï¼Œå¹¶ç¨åŽå†åˆ é™¤è´¦æˆ·ã€‚<option>-"
"f</option> 选项å¯ä»¥å¼ºåˆ¶æ­¤åˆ é™¤è´¦æˆ·ã€‚"
-#: userdel.8.xml:306(para)
+#: userdel.8.xml:312(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this user."
msgstr "您应该手动检查所以文件系统,以确ä¿æ²¡æœ‰é—留此用户的文件。"
-#: userdel.8.xml:310(para)
+#: userdel.8.xml:316(para)
msgid ""
"You may not remove any NIS attributes on a NIS client. This must be "
"performed on the NIS server."
msgstr "您ä¸èƒ½åœ¨ NIS 客户端上移除任何 NIS 属性。这必须在 NIS æœåŠ¡å™¨ä¸Šæ‰§è¡Œã€‚"
-#: userdel.8.xml:313(para)
+#: userdel.8.xml:319(para)
msgid ""
"If <option>USERGROUPS_ENAB</option> is defined to <emphasis remap=\"I\">yes</"
"emphasis> in <filename>/etc/login.defs</filename>, <command>userdel</"
@@ -1946,7 +1998,7 @@ msgstr ""
"<command>userdel</command> 将会检查这个主是å¦è¢«åˆ«çš„用户用作主组,如果有,将åª"
"å‘出警告并ä¸åˆ é™¤æ­¤ç»„。<option>-f</option> 选项å¯ä»¥å¼ºåˆ¶åˆ é™¤æ­¤ç»„。"
-#: userdel.8.xml:326(para)
+#: userdel.8.xml:332(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2006,7 +2058,7 @@ msgstr ""
#: useradd.8.xml:76(refentrytitle) useradd.8.xml:83(refname)
#: useradd.8.xml:88(command) useradd.8.xml:95(command)
-#: useradd.8.xml:99(command) login.defs.5.xml:482(term)
+#: useradd.8.xml:99(command) login.defs.5.xml:486(term)
msgid "useradd"
msgstr "useradd"
@@ -2045,11 +2097,11 @@ msgstr ""
msgid "The options which apply to the <command>useradd</command> command are:"
msgstr "<command>useradd</command> å¯ä»¥ä½¿ç”¨çš„选项有:"
-#: useradd.8.xml:132(option) pwck.8.xml:187(option) newusers.8.xml:273(option)
+#: useradd.8.xml:132(option) pwck.8.xml:188(option) newusers.8.xml:281(option)
msgid "--badname"
msgstr ""
-#: useradd.8.xml:141(term) useradd.8.xml:559(term)
+#: useradd.8.xml:141(term) useradd.8.xml:566(term)
msgid ""
"<option>-b</option>, <option>--base-dir</option>&nbsp;<replaceable>BASE_DIR</"
"replaceable>"
@@ -2095,28 +2147,36 @@ msgstr ""
"replaceable>"
#: useradd.8.xml:178(para)
+#, fuzzy
+#| msgid ""
+#| "The new user will be created using <replaceable>HOME_DIR</replaceable> as "
+#| "the value for the user's login directory. The default is to append the "
+#| "<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</"
+#| "replaceable> and use that as the login directory name. The directory "
+#| "<replaceable>HOME_DIR</replaceable> does not have to exist but will not "
+#| "be created if it is missing."
msgid ""
"The new user will be created using <replaceable>HOME_DIR</replaceable> as "
"the value for the user's login directory. The default is to append the "
"<replaceable>LOGIN</replaceable> name to <replaceable>BASE_DIR</replaceable> "
-"and use that as the login directory name. The directory "
-"<replaceable>HOME_DIR</replaceable> does not have to exist but will not be "
-"created if it is missing."
+"and use that as the login directory name. If the directory "
+"<replaceable>HOME_DIR</replaceable> does not exist, then it will be created "
+"unless the <option>-M</option> option is specified."
msgstr ""
-"将创建新用户,并使用 <replaceable>HOME_DIR</replaceable> 作为用户登陆目录的"
+"将创建新用户,并使用 <replaceable>HOME_DIR</replaceable> 作为用户登录目录的"
"值。默认值是将 <replaceable>LOGIN</replaceable> å附加到 "
-"<replaceable>BASE_DIR</replaceable> åŽé¢ï¼Œå¹¶ä½¿ç”¨è¿™ä½œä¸ºç™»é™†ç›®å½•ã€‚目录ä¸ä¸€å®šå¿…"
+"<replaceable>BASE_DIR</replaceable> åŽé¢ï¼Œå¹¶ä½¿ç”¨è¿™ä½œä¸ºç™»å½•ç›®å½•ã€‚目录ä¸ä¸€å®šå¿…"
"须已ç»å­˜åœ¨ <replaceable>HOME_DIR</replaceable>,但是会在需è¦æ—¶åˆ›å»ºã€‚"
-#: useradd.8.xml:190(term)
+#: useradd.8.xml:192(term)
msgid "<option>-D</option>, <option>--defaults</option>"
msgstr "<option>-D</option>, <option>--defaults</option>"
-#: useradd.8.xml:194(para)
+#: useradd.8.xml:196(para)
msgid "See below, the subsection \"Changing the default values\"."
msgstr "看下边,“更改默认值â€å­èŠ‚。"
-#: useradd.8.xml:208(para)
+#: useradd.8.xml:210(para)
msgid ""
"If not specified, <command>useradd</command> will use the default expiry "
"date specified by the <option>EXPIRE</option> variable in <filename>/etc/"
@@ -2126,7 +2186,7 @@ msgstr ""
"useradd</filename> 中 <option>EXPIRE</option> å˜é‡æŒ‡å®šçš„默认过期日期,或者一"
"个空字符串(ä¸è¿‡æœŸ)。"
-#: useradd.8.xml:221(para)
+#: useradd.8.xml:223(para)
msgid ""
"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 "
@@ -2134,7 +2194,7 @@ msgid ""
msgstr ""
"密ç è¿‡æœŸåŽï¼Œè´¦æˆ·è¢«å½»åº•ç¦ç”¨ä¹‹å‰çš„天数。0 表示立å³ç¦ç”¨ï¼Œ-1 表示ç¦ç”¨è¿™ä¸ªåŠŸèƒ½ã€‚"
-#: useradd.8.xml:227(para)
+#: useradd.8.xml:229(para)
msgid ""
"If not specified, <command>useradd</command> will use the default inactivity "
"period specified by the <option>INACTIVE</option> variable in <filename>/etc/"
@@ -2144,14 +2204,14 @@ msgstr ""
"useradd</filename> 中的 <option>INACTIVE</option> 指定的默认ç¦ç”¨å‘¨æœŸï¼Œæˆ–者默"
"认为 -1。"
-#: useradd.8.xml:240(para)
+#: useradd.8.xml:242(para)
msgid ""
"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."
msgstr ""
-"用户åˆå§‹ç™»é™†ç»„的组å或å·ç ã€‚组å必须已ç»å­˜åœ¨ã€‚组å·ç å¿…须指代已ç»å­˜åœ¨çš„组。"
+"用户åˆå§‹ç™»å½•ç»„的组å或å·ç ã€‚组å必须已ç»å­˜åœ¨ã€‚组å·ç å¿…须指代已ç»å­˜åœ¨çš„组。"
-#: useradd.8.xml:245(para)
+#: useradd.8.xml:247(para)
msgid ""
"If not specified, the behavior of <command>useradd</command> will depend on "
"the <option>USERGROUPS_ENAB</option> variable in <filename>/etc/login.defs</"
@@ -2172,7 +2232,7 @@ msgstr ""
"user-group</option>),useradd 会把新用户的主组设置为 <filename>/etc/default/"
"useradd</filename> 中 <option>GROUP</option> å˜é‡æŒ‡å®šçš„值,å†æˆ–者默认是 100。"
-#: useradd.8.xml:267(para)
+#: useradd.8.xml:269(para)
msgid ""
"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. "
@@ -2183,7 +2243,7 @@ msgstr ""
"用户还属于的附加组列表。æ¯ä¸ªç»„都用逗å·éš”开,没有中间的空格。这里的组å—到了 "
"<option>-g</option> 选项给定的组åŒæ ·çš„é™åˆ¶ã€‚默认上,用户åªå±žäºŽåˆå§‹ç»„。"
-#: useradd.8.xml:284(term)
+#: useradd.8.xml:286(term)
msgid ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
@@ -2191,7 +2251,7 @@ msgstr ""
"<option>-k</option>, <option>--skel</option>&nbsp;<replaceable>SKEL_DIR</"
"replaceable>"
-#: useradd.8.xml:288(para)
+#: useradd.8.xml:290(para)
msgid ""
"The skeleton directory, which contains files and directories to be copied in "
"the user's home directory, when the home directory is created by "
@@ -2200,7 +2260,7 @@ msgstr ""
"骨架目录,包å«ä½¿ç”¨ <command>useradd</command> 创建用户时,è¦å¤åˆ¶åˆ°ç”¨æˆ·ä¸»ç›®å½•"
"中的文件和目录。"
-#: useradd.8.xml:293(para)
+#: useradd.8.xml:295(para)
msgid ""
"This option is only valid if the <option>-m</option> (or <option>--create-"
"home</option>) option is specified."
@@ -2208,7 +2268,7 @@ msgstr ""
"这个选项åªæœ‰åœ¨æŒ‡å®š <option>-m</option> (或 <option>--create-home</option>) 选"
"项时æ‰æœ‰æ•ˆã€‚"
-#: useradd.8.xml:297(para)
+#: useradd.8.xml:299(para)
msgid ""
"If this option is not set, the skeleton directory is defined by the "
"<option>SKEL</option> variable in <filename>/etc/default/useradd</filename> "
@@ -2217,11 +2277,11 @@ msgstr ""
"如果此项没有设置,骨架目录使用 <filename>/etc/default/useradd</filename> 中"
"çš„ <option>SKEL</option> çš„å˜é‡æˆ–默认为 <filename>/etc/skel</filename>。"
-#: useradd.8.xml:303(para)
+#: useradd.8.xml:305(para)
msgid "If possible, the ACLs and extended attributes are copied."
msgstr "如果å¯ä»¥ï¼Œä¹Ÿå¤åˆ¶ ACL 和扩展属性。"
-#: useradd.8.xml:309(term) groupadd.8.xml:137(term)
+#: useradd.8.xml:311(term) groupadd.8.xml:137(term)
msgid ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
@@ -2229,7 +2289,7 @@ msgstr ""
"<option>-K</option>, <option>--key</option>&nbsp;<replaceable>KEY</"
"replaceable>=<replaceable>VALUE</replaceable>"
-#: useradd.8.xml:313(para)
+#: useradd.8.xml:315(para)
#, fuzzy
#| msgid ""
#| "Overrides <filename>/etc/login.defs</filename> defaults (<option>UID_MIN</"
@@ -2263,15 +2323,15 @@ msgstr ""
"replaceable>=<replaceable>100</replaceable>&nbsp;<option>-K</option>&nbsp;"
"<replaceable>UID_MAX</replaceable>=<replaceable>499</replaceable>"
-#: useradd.8.xml:334(term)
+#: useradd.8.xml:336(term)
msgid "<option>-l</option>, <option>--no-log-init</option>"
msgstr "<option>-l</option>, <option>--no-log-init</option>"
-#: useradd.8.xml:336(para)
+#: useradd.8.xml:338(para)
msgid "Do not add the user to the lastlog and faillog databases."
msgstr "ä¸è¦å°†ç”¨æˆ·æ·»åŠ åˆ°æœ€è¿‘登录和登录失败数æ®åº“。"
-#: useradd.8.xml:339(para)
+#: useradd.8.xml:341(para)
#, fuzzy
#| msgid ""
#| "By default, the user's entries in the lastlog and faillog databases are "
@@ -2283,11 +2343,11 @@ msgstr ""
"默认上,最近登录和登录失败中用户的æ¡ç›®ä¼šè¢«é‡ç½®ï¼Œä»¥é¿å…é‡æ–°ä½¿ç”¨å…ˆå‰åˆ é™¤çš„用户"
"çš„æ¡ç›®ã€‚"
-#: useradd.8.xml:347(term)
+#: useradd.8.xml:349(term)
msgid "<option>-m</option>, <option>--create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:351(para)
+#: useradd.8.xml:353(para)
msgid ""
"Create the user's home directory if it does not exist. The files and "
"directories contained in the skeleton directory (which can be defined with "
@@ -2296,7 +2356,7 @@ msgstr ""
"如果ä¸å­˜åœ¨ï¼Œåˆ™åˆ›å»ºç”¨æˆ·ä¸»ç›®å½•ã€‚骨架目录中的文件和目录(å¯ä»¥ä½¿ç”¨ <option>-k</"
"option> 选项指定),将会å¤åˆ¶åˆ°ä¸»ç›®å½•ã€‚"
-#: useradd.8.xml:357(para)
+#: useradd.8.xml:359(para)
msgid ""
"By default, if this option is not specified and <option>CREATE_HOME</option> "
"is not enabled, no home directories are created."
@@ -2304,13 +2364,20 @@ msgstr ""
"默认上,如果没有指定此选项并且 <option>CREATE_HOME</option> 没有å¯ç”¨ï¼Œä¸ä¼šåˆ›"
"建主目录。"
-#: useradd.8.xml:365(term)
+#: useradd.8.xml:364(para)
+msgid ""
+"The directory where the user's home directory is created must exist and have "
+"proper SELinux context and permissions. Otherwise the user's home directory "
+"cannot be created or accessed."
+msgstr ""
+
+#: useradd.8.xml:372(term)
#, fuzzy
#| msgid "<option>-m</option>, <option>--create-home</option>"
msgid "<option>-M</option>, <option>--no-create-home</option>"
msgstr "<option>-m</option>, <option>--create-home</option>"
-#: useradd.8.xml:369(para)
+#: useradd.8.xml:376(para)
msgid ""
"Do no create the user's home directory, even if the system wide setting from "
"<filename>/etc/login.defs</filename> (<option>CREATE_HOME</option>) is set "
@@ -2319,11 +2386,11 @@ msgstr ""
"ä¸åˆ›å»ºç”¨æˆ·ä¸»ç›®å½•ï¼Œå³ä½¿ç³»ç»Ÿåœ¨ <filename>/etc/login.defs</filename> 中的设置 "
"(<option>CREATE_HOME</option>) 为 <replaceable>yes</replaceable>。"
-#: useradd.8.xml:378(term)
+#: useradd.8.xml:385(term)
msgid "<option>-N</option>, <option>--no-user-group</option>"
msgstr "<option>-N</option>, <option>--no-user-group</option>"
-#: useradd.8.xml:382(para)
+#: useradd.8.xml:389(para)
msgid ""
"Do not create a group with the same name as the user, but add the user to "
"the group specified by the <option>-g</option> option or by the "
@@ -2332,7 +2399,8 @@ msgstr ""
"ä¸è¦åˆ›å»ºåŒå组,而是将用户添加到 <option>-g</option> é€‰é¡¹æŒ‡å®šçš„ç»„ï¼Œæˆ–æ ¹æ® "
"<filename>/etc/default/useradd</filename> 中的 <option>GROUP</option> å˜é‡ã€‚"
-#: useradd.8.xml:388(para) useradd.8.xml:526(para)
+#: useradd.8.xml:395(para) useradd.8.xml:533(para) groupmod.8.xml:223(para)
+#: groupadd.8.xml:240(para)
msgid ""
"The default behavior (if the <option>-g</option>, <option>-N</option>, and "
"<option>-U</option> options are not specified) is defined by the "
@@ -2343,16 +2411,16 @@ msgstr ""
"选项,默认行为由 <filename>/etc/login.defs</filename> 中的 "
"<option>USERGROUPS_ENAB</option> å˜é‡æŒ‡å®šã€‚"
-#: useradd.8.xml:401(para)
+#: useradd.8.xml:408(para)
msgid "Allow the creation of a user account with a duplicate (non-unique) UID."
msgstr "å…许使用é‡å¤çš„ UID 创建用户账户。"
-#: useradd.8.xml:402(para)
+#: useradd.8.xml:409(para)
msgid ""
"This option is only valid in combination with the <option>-u</option> option."
msgstr "此选项åªæœ‰å’Œ <option>-u</option> 选项组åˆä½¿ç”¨æ‰æœ‰æ•ˆã€‚"
-#: useradd.8.xml:413(para) groupadd.8.xml:171(para)
+#: useradd.8.xml:420(para) groupadd.8.xml:171(para)
msgid ""
"The encrypted password, as returned by <citerefentry><refentrytitle>crypt</"
"refentrytitle><manvolnum>3</manvolnum></citerefentry>. The default is to "
@@ -2362,15 +2430,15 @@ msgstr ""
"refentrytitle><manvolnum>3</manvolnum></citerefentry> 的返回值。默认为ç¦ç”¨å¯†"
"ç ã€‚"
-#: useradd.8.xml:430(term) newusers.8.xml:302(term) groupadd.8.xml:188(term)
+#: useradd.8.xml:437(term) newusers.8.xml:310(term) groupadd.8.xml:188(term)
msgid "<option>-r</option>, <option>--system</option>"
msgstr "<option>-r</option>, <option>--system</option>"
-#: useradd.8.xml:434(para) newusers.8.xml:306(para)
+#: useradd.8.xml:441(para) newusers.8.xml:314(para)
msgid "Create a system account."
msgstr "创建一个系统账户。"
-#: useradd.8.xml:437(para)
+#: useradd.8.xml:444(para)
#, fuzzy
msgid ""
"System users will be created with no aging information in <filename>/etc/"
@@ -2386,7 +2454,7 @@ msgstr ""
"<option>UID_MIN</option>-<option>UID_MAX</option> (and their <option>GID</"
"option> counterparts for the creation of groups)。"
-#: useradd.8.xml:446(para)
+#: useradd.8.xml:453(para)
#, fuzzy
#| msgid ""
#| "Note that <command>useradd</command> will not create a home directory for "
@@ -2405,7 +2473,7 @@ msgstr ""
"etc/login.defs</filename> (<option>CREATE_HOME</option>) 中是的默认设置是怎"
"样。如果想为è¦åˆ›å»ºçš„系统账户创建主目录,需è¦æŒ‡å®š <option>-m</option> 选项。"
-#: useradd.8.xml:490(para)
+#: useradd.8.xml:497(para)
msgid ""
"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 specified "
@@ -2416,7 +2484,7 @@ msgstr ""
"filename> 中的 <option>SHELL</option> å˜é‡é€‰æ‹©é»˜è®¤çš„登录 shell,默认为空字符"
"串。"
-#: useradd.8.xml:504(para)
+#: useradd.8.xml:511(para)
msgid ""
"The numerical value of the user's ID. This value must be unique, unless the "
"<option>-o</option> option is used. The value must be non-negative. The "
@@ -2427,34 +2495,34 @@ msgstr ""
"å¿…é¡»éžè´Ÿï¼Œé»˜è®¤ä½¿ç”¨å¤§äºŽç­‰äºŽ <option>UID_MIN</option>,且大于任何其他用户 ID 最"
"å°å€¼ã€‚"
-#: useradd.8.xml:511(para)
+#: useradd.8.xml:518(para)
msgid ""
"See also the <option>-r</option> option and the <option>UID_MAX</option> "
"description."
msgstr "请å‚考 <option>-r</option> 选项和 <option>UID_MAX</option> çš„æ述。"
-#: useradd.8.xml:518(term)
+#: useradd.8.xml:525(term)
msgid "<option>-U</option>, <option>--user-group</option>"
msgstr "<option>-U</option>, <option>--user-group</option>"
-#: useradd.8.xml:522(para)
+#: useradd.8.xml:529(para)
msgid ""
"Create a group with the same name as the user, and add the user to this "
"group."
msgstr "创建一个和用户åŒå的组,并将用户添加到组中。"
-#: useradd.8.xml:539(para)
+#: useradd.8.xml:546(para)
msgid ""
"The SELinux user for the user's login. The default is to leave this field "
"blank, which causes the system to select the default SELinux user."
msgstr ""
-"用户登陆的 SELinux 用户。默认为留空,这会造æˆç³»ç»Ÿé€‰æ‹©é»˜è®¤çš„ SELinux 用户。"
+"用户登录的 SELinux 用户。默认为留空,这会造æˆç³»ç»Ÿé€‰æ‹©é»˜è®¤çš„ SELinux 用户。"
-#: useradd.8.xml:549(title)
+#: useradd.8.xml:556(title)
msgid "Changing the default values"
msgstr "更改默认值"
-#: useradd.8.xml:550(para)
+#: useradd.8.xml:557(para)
msgid ""
"When invoked with only the <option>-D</option> option, <command>useradd</"
"command> will display the current default values. When invoked with <option>-"
@@ -2465,7 +2533,7 @@ msgstr ""
"默认值。<option>-D</option> 和其它选项é…åˆä½¿ç”¨æ—¶ï¼Œ<command>useradd</command> "
"将为指定的选项更新默认值。有效的“更改默认值â€é€‰é¡¹æœ‰ï¼š"
-#: useradd.8.xml:563(para)
+#: useradd.8.xml:570(para)
msgid ""
"The path prefix for a new user's home directory. The user's name will be "
"affixed to the end of <replaceable>BASE_DIR</replaceable> to form the new "
@@ -2476,7 +2544,7 @@ msgstr ""
"用户的å称将会缀在 <replaceable>BASE_DIR</replaceable> çš„åŽè¾¹å½¢æˆæ–°ç”¨æˆ·çš„主目"
"录å。"
-#: useradd.8.xml:570(para)
+#: useradd.8.xml:577(para)
msgid ""
"This option sets the <option>HOME</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2484,11 +2552,11 @@ msgstr ""
"这个选择在 <filename>/etc/default/useradd</filename> 中设置 <option>HOME</"
"option> 选项。"
-#: useradd.8.xml:581(para)
+#: useradd.8.xml:588(para)
msgid "The date on which the user account is disabled."
msgstr "ç¦ç”¨æ­¤ç”¨æˆ·è´¦æˆ·çš„日期。"
-#: useradd.8.xml:582(para)
+#: useradd.8.xml:589(para)
msgid ""
"This option sets the <option>EXPIRE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2496,13 +2564,13 @@ msgstr ""
"此选项在 <filename>/etc/default/useradd</filename> 中设置 <option>EXPIRE</"
"option> å˜é‡ã€‚"
-#: useradd.8.xml:593(para)
+#: useradd.8.xml:600(para)
msgid ""
"The number of days after a password has expired before the account will be "
"disabled."
msgstr "密ç è¿‡æœŸåˆ°è´¦æˆ·è¢«ç¦ç”¨ä¹‹å‰çš„天数。"
-#: useradd.8.xml:597(para)
+#: useradd.8.xml:604(para)
msgid ""
"This option sets the <option>INACTIVE</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2510,7 +2578,7 @@ msgstr ""
"这个选项在 <filename>/etc/default/useradd</filename> 中设置 "
"<option>INACTIVE</option> å˜é‡ã€‚"
-#: useradd.8.xml:608(para)
+#: useradd.8.xml:615(para)
msgid ""
"The group name or ID for a new user's initial group (when the <option>-N/--"
"no-user-group</option> is used or when the <option>USERGROUPS_ENAB</option> "
@@ -2523,7 +2591,7 @@ msgstr ""
"option> 设置为 <replaceable>no</replaceable> 时)。给出的组必须存在,并且数字"
"组 ID 必须有一个已ç»å­˜åœ¨çš„项。"
-#: useradd.8.xml:617(para)
+#: useradd.8.xml:624(para)
msgid ""
"This option sets the <option>GROUP</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2531,11 +2599,11 @@ msgstr ""
"这个选项在 <filename>/etc/default/useradd</filename> 中设置 <option>GROUP</"
"option> å˜é‡ã€‚"
-#: useradd.8.xml:628(para)
+#: useradd.8.xml:635(para)
msgid "The name of a new user's login shell."
msgstr "新用户的登录 shell å。"
-#: useradd.8.xml:631(para)
+#: useradd.8.xml:638(para)
msgid ""
"This option sets the <option>SHELL</option> variable in <filename>/etc/"
"default/useradd</filename>."
@@ -2543,11 +2611,11 @@ msgstr ""
"这个选项在 <filename>/etc/default/useradd</filename> 设置 <option>SHELL</"
"option> å˜é‡ã€‚"
-#: useradd.8.xml:643(title)
+#: useradd.8.xml:650(title)
msgid "NOTES"
msgstr "注æ„:"
-#: useradd.8.xml:644(para)
+#: useradd.8.xml:651(para)
msgid ""
"The system administrator is responsible for placing the default user files "
"in the <filename>/etc/skel/</filename> directory (or any other skeleton "
@@ -2557,13 +2625,13 @@ msgstr ""
"系统管ç†å‘˜è´Ÿè´£å°†é»˜è®¤çš„用户文件放在 <filename>/etc/skel/</filename> 目录中(或"
"者命令行上ã€<filename>/etc/default/useradd</filename> 中指定的任何其它目录)。"
-#: useradd.8.xml:653(para)
+#: useradd.8.xml:660(para)
msgid ""
"You may not add a user to a NIS or LDAP group. This must be performed on the "
"corresponding server."
msgstr "您å¯èƒ½ä¸èƒ½æƒ³ NIS 组或 LDAP 组添加用户。这åªèƒ½åœ¨ç›¸åº”æœåŠ¡å™¨ä¸Šè¿›è¡Œã€‚"
-#: useradd.8.xml:658(para)
+#: useradd.8.xml:665(para)
msgid ""
"Similarly, if the username already exists in an external user database such "
"as NIS or LDAP, <command>useradd</command> will deny the user account "
@@ -2572,7 +2640,7 @@ msgstr ""
"相似地,如果用户åå·²ç»å­˜åœ¨äºŽå¤–部用户数æ®åº“中,比如 NIS 或 LDAP,"
"<command>useradd</command> 将拒ç»åˆ›å»ºç”¨æˆ·è´¦æˆ·çš„请求。"
-#: useradd.8.xml:664(para)
+#: useradd.8.xml:671(para)
msgid ""
"Usernames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -2581,7 +2649,7 @@ msgstr ""
"用户å必须以一个å°å†™å­—æ¯æˆ–下划线开始,跟éšå°å†™å­—符ã€æ•°å­—ã€ä¸‹åˆ’线或连字符的组"
"åˆã€‚å¯ä»¥ä»¥ç¾Žå…ƒç¬¦å·ç»“æŸã€‚用正则表达å¼è¡¨ç¤ºå°±æ˜¯ï¼š[a-z_][a-z0-9_-]*[$]?"
-#: useradd.8.xml:670(para)
+#: useradd.8.xml:677(para)
msgid "Usernames may only be up to 32 characters long."
msgstr "用户åä¸èƒ½è¶…过 32 个字符长。"
@@ -2675,9 +2743,14 @@ msgstr "<option>PASS_MIN_DAYS</option> (number)"
#: useradd.8.xml:34(para) pwconv.8.xml:34(para) pwck.8.xml:34(para)
#: newusers.8.xml:34(para) login.defs.5.xml:34(para)
+#, fuzzy
+#| msgid ""
+#| "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)."
msgid ""
"The minimum number of days allowed between password changes. Any password "
-"changes attempted sooner than this will be rejected. If not specified, -1 "
+"changes attempted sooner than this will be rejected. If not specified, 0 "
"will be assumed (which disables the restriction)."
msgstr ""
"两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œ"
@@ -2834,77 +2907,99 @@ msgid ""
"It is also used by <command>pam_umask</command> as the default umask value."
msgstr "也被 <command>pam_umask</command> 用作默认 umask 值。"
-#: useradd.8.xml:733(filename)
+#: useradd.8.xml:740(filename)
msgid "/etc/default/useradd"
msgstr "/etc/default/useradd"
-#: useradd.8.xml:735(para)
+#: useradd.8.xml:742(para)
msgid "Default values for account creation."
msgstr "账户创建的默认值。"
-#: useradd.8.xml:739(filename)
+#: useradd.8.xml:746(term)
+#, fuzzy
+#| msgid ""
+#| "Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/"
+#| "shadow</filename> by UID."
+msgid ""
+"<filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/"
+"shadow-maint/useradd-post.d/*</filename>"
+msgstr ""
+"æ ¹æ® UID 在 <filename>/etc/passwd</filename> å’Œ <filename>/etc/shadow</"
+"filename> 对项目进行排åºã€‚"
+
+#: useradd.8.xml:748(para)
+msgid ""
+"Run-part files to execute during user addition. The environment variable "
+"<command>ACTION</command> will be populated with useradd and "
+"<command>SUBJECT</command> with the <command>username</command>. "
+"<filename>useradd-pre.d</filename> will be executed prior to any user "
+"addition. <filename>useradd-post.d</filename> will execute after user "
+"addition. If a script exits non-zero then execution will terminate."
+msgstr ""
+
+#: useradd.8.xml:752(filename)
msgid "/etc/skel/"
msgstr "/etc/skel/"
-#: useradd.8.xml:741(para)
+#: useradd.8.xml:754(para)
msgid "Directory containing default files."
msgstr "包å«é»˜è®¤æ–‡ä»¶çš„目录。"
-#: useradd.8.xml:789(replaceable) shadow.3.xml:58(manvolnum)
-#: pwck.8.xml:326(replaceable) passwd.1.xml:466(replaceable)
-#: grpck.8.xml:268(replaceable) groupmod.8.xml:269(replaceable)
-#: groupadd.8.xml:313(replaceable)
+#: useradd.8.xml:802(replaceable) shadow.3.xml:58(manvolnum)
+#: pwck.8.xml:328(replaceable) passwd.1.xml:466(replaceable)
+#: grpck.8.xml:278(replaceable) groupmod.8.xml:294(replaceable)
+#: groupadd.8.xml:329(replaceable)
msgid "3"
msgstr "3"
-#: useradd.8.xml:791(para) passwd.1.xml:486(para) groupadd.8.xml:315(para)
+#: useradd.8.xml:804(para) passwd.1.xml:486(para) groupadd.8.xml:331(para)
msgid "invalid argument to option"
msgstr "给了选项一个无效的å‚æ•°"
-#: useradd.8.xml:795(replaceable) pwck.8.xml:332(replaceable)
-#: passwd.1.xml:472(replaceable) grpck.8.xml:274(replaceable)
-#: groupmod.8.xml:275(replaceable) groupadd.8.xml:319(replaceable)
+#: useradd.8.xml:808(replaceable) pwck.8.xml:334(replaceable)
+#: passwd.1.xml:472(replaceable) grpck.8.xml:284(replaceable)
+#: groupmod.8.xml:300(replaceable) groupadd.8.xml:335(replaceable)
msgid "4"
msgstr "4"
-#: useradd.8.xml:797(para)
+#: useradd.8.xml:810(para)
msgid "UID already in use (and no <option>-o</option>)"
msgstr "UID å·²ç»ä½¿ç”¨ (且没有 <option>-o</option>)"
-#: useradd.8.xml:803(para) groupdel.8.xml:194(para)
+#: useradd.8.xml:816(para) groupdel.8.xml:205(para)
msgid "specified group doesn't exist"
msgstr "指定的组ä¸å­˜åœ¨"
-#: useradd.8.xml:807(replaceable) groupmod.8.xml:287(replaceable)
-#: groupadd.8.xml:325(replaceable)
+#: useradd.8.xml:820(replaceable) groupmod.8.xml:312(replaceable)
+#: groupadd.8.xml:341(replaceable)
msgid "9"
msgstr "9"
-#: useradd.8.xml:809(para)
+#: useradd.8.xml:822(para)
msgid "username already in use"
msgstr "用户å已被使用"
-#: useradd.8.xml:821(para)
+#: useradd.8.xml:834(para)
msgid "can't create home directory"
msgstr "无法创建主目录"
-#: useradd.8.xml:825(replaceable)
+#: useradd.8.xml:838(replaceable)
#, fuzzy
#| msgid "1"
msgid "14"
msgstr "1"
-#: useradd.8.xml:827(para)
+#: useradd.8.xml:840(para)
msgid "can't update SELinux user mapping"
msgstr ""
-#: useradd.8.xml:767(para)
+#: useradd.8.xml:780(para)
msgid ""
"The <command>useradd</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>useradd</command> å¯ä»¥è¿”回如下值:<placeholder-1/>"
-#: useradd.8.xml:836(para)
+#: useradd.8.xml:849(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</"
@@ -2974,17 +3069,17 @@ msgid "suauth"
msgstr "suauth"
#: suauth.5.xml:58(manvolnum) shadow.5.xml:58(manvolnum)
-#: pwck.8.xml:338(replaceable) porttime.5.xml:58(manvolnum)
+#: pwck.8.xml:340(replaceable) porttime.5.xml:58(manvolnum)
#: passwd.5.xml:58(manvolnum) passwd.1.xml:478(replaceable)
-#: login.defs.5.xml:125(manvolnum) login.access.5.xml:59(manvolnum)
+#: login.defs.5.xml:127(manvolnum) login.access.5.xml:59(manvolnum)
#: limits.5.xml:60(manvolnum) gshadow.5.xml:47(manvolnum)
-#: grpck.8.xml:280(replaceable) faillog.5.xml:58(manvolnum)
+#: grpck.8.xml:290(replaceable) faillog.5.xml:58(manvolnum)
msgid "5"
msgstr "5"
#: suauth.5.xml:59(refmiscinfo) shadow.5.xml:59(refmiscinfo)
#: porttime.5.xml:59(refmiscinfo) passwd.5.xml:59(refmiscinfo)
-#: login.defs.5.xml:126(refmiscinfo) login.access.5.xml:60(refmiscinfo)
+#: login.defs.5.xml:128(refmiscinfo) login.access.5.xml:60(refmiscinfo)
#: limits.5.xml:61(refmiscinfo) gshadow.5.xml:48(refmiscinfo)
#: faillog.5.xml:59(refmiscinfo)
msgid "File Formats and Conversions"
@@ -3172,7 +3267,7 @@ msgstr ""
" #\n"
" "
-#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:531(title)
+#: suauth.5.xml:203(title) pwconv.8.xml:216(title) login.defs.5.xml:535(title)
msgid "BUGS"
msgstr "缺陷"
@@ -3214,7 +3309,7 @@ msgid "Creation, 1989"
msgstr ""
#: su.1.xml:74(refentrytitle) su.1.xml:81(refname) su.1.xml:86(command)
-#: login.defs.5.xml:456(term)
+#: login.defs.5.xml:460(term)
msgid "su"
msgstr "su"
@@ -3710,7 +3805,7 @@ msgstr "<option>MAIL_CHECK_ENAB</option> (boolean)"
#: su.1.xml:34(para) login.defs.5.xml:34(para) login.1.xml:34(para)
msgid "Enable checking and display of mailbox status upon login."
-msgstr "å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’ŒçŽ°å®žé‚®ç®±çŠ¶æ€ã€‚"
+msgstr "å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’Œæ˜¾ç¤ºé‚®ç®±çŠ¶æ€ã€‚"
#: su.1.xml:37(para) login.defs.5.xml:37(para) login.1.xml:37(para)
msgid ""
@@ -3920,7 +4015,7 @@ msgstr ""
#: shadow.5.xml:57(refentrytitle) shadow.5.xml:64(refname)
#: shadow.3.xml:57(refentrytitle) shadow.3.xml:64(refname)
-#: pwck.8.xml:84(replaceable) grpck.8.xml:76(replaceable)
+#: pwck.8.xml:85(replaceable) grpck.8.xml:75(replaceable)
msgid "shadow"
msgstr "shadow"
@@ -4009,9 +4104,13 @@ msgid "date of last password change"
msgstr "最åŽä¸€æ¬¡æ›´æ”¹å¯†ç çš„日期"
#: shadow.5.xml:130(para)
+#, fuzzy
+#| msgid ""
+#| "The date of the last password change, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of the last password change, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr "最近一次更改密ç çš„时间,表示从1970å¹´1月1日开始的天数。"
#: shadow.5.xml:134(para)
@@ -4040,7 +4139,10 @@ msgstr ""
"最å°å¯†ç å¹´é¾„是指,用户一次更改密ç ä¹‹åŽï¼Œè¦ç­‰å¤šé•¿æ—¶é—´æ‰å†æ¬¡è¢«å…许更改密ç ã€‚"
#: shadow.5.xml:153(para)
-msgid "An empty field and value 0 mean that there are no minimum password age."
+#, fuzzy
+#| msgid ""
+#| "An empty field and value 0 mean that there are no minimum password age."
+msgid "An empty field and value 0 mean that there is no minimum password age."
msgstr "空字段或 0 表示没有最å°å¯†ç å¹´é¾„。"
#: shadow.5.xml:160(emphasis)
@@ -4102,10 +4204,14 @@ msgstr ""
"下次登录时修改密ç )。"
#: shadow.5.xml:209(para)
+#, fuzzy
+#| msgid ""
+#| "After expiration of the password and this expiration period is elapsed, "
+#| "no login is possible using the current user's password. The user should "
+#| "contact her administrator."
msgid ""
"After expiration of the password and this expiration period is elapsed, no "
-"login is possible using the current user's password. The user should contact "
-"her administrator."
+"login is possible for the user. The user should contact her administrator."
msgstr ""
"密ç åˆ°æœŸå¹¶ä¸”过了这个宽é™æœŸä¹‹åŽï¼Œä½¿ç”¨ç”¨æˆ·çš„当å‰çš„密ç å°†ä¼šä¸èƒ½ç™»å½•ã€‚用户需è¦è”"
"系系统管ç†å‘˜ã€‚"
@@ -4120,9 +4226,13 @@ msgid "account expiration date"
msgstr "账户过期日期"
#: shadow.5.xml:225(para)
+#, fuzzy
+#| msgid ""
+#| "The date of expiration of the account, expressed as the number of days "
+#| "since Jan 1, 1970."
msgid ""
"The date of expiration of the account, expressed as the number of days since "
-"Jan 1, 1970."
+"Jan 1, 1970 00:00 UTC."
msgstr "账户过期的日期,表示从1970年1月1日开始的天数。"
#: shadow.5.xml:229(para)
@@ -4166,7 +4276,7 @@ msgstr "/etc/shadow-"
msgid "Backup file for /etc/shadow."
msgstr "/etc/shadow 的备份文件。"
-#: shadow.5.xml:273(para) passwd.5.xml:178(para)
+#: shadow.5.xml:273(para) passwd.5.xml:181(para)
msgid ""
"Note that this file is used by the tools of the shadow toolsuite, but not by "
"all user and password management tools."
@@ -4434,19 +4544,19 @@ msgstr ""
"refentrytitle><manvolnum>5</manvolnum></citerefentry>."
#: pwconv.8.xml:63(refentrytitle) pwconv.8.xml:70(refname)
-#: pwconv.8.xml:79(command) login.defs.5.xml:439(term)
+#: pwconv.8.xml:79(command) login.defs.5.xml:443(term)
msgid "pwconv"
msgstr "pwconv"
-#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:448(term)
+#: pwconv.8.xml:71(refname) pwconv.8.xml:85(command) login.defs.5.xml:452(term)
msgid "pwunconv"
msgstr "pwunconv"
-#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:344(term)
+#: pwconv.8.xml:72(refname) pwconv.8.xml:91(command) login.defs.5.xml:348(term)
msgid "grpconv"
msgstr "grpconv"
-#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:350(term)
+#: pwconv.8.xml:73(refname) pwconv.8.xml:97(command) login.defs.5.xml:354(term)
msgid "grpunconv"
msgstr "grpunconv"
@@ -4633,26 +4743,26 @@ msgstr ""
"manvolnum></citerefentry>, <citerefentry><refentrytitle>tcb_unconvert</"
"refentrytitle><manvolnum>8</manvolnum></citerefentry></phrase>."
-#: pwck.8.xml:47(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:42(contrib)
+#: pwck.8.xml:48(contrib) lastlog.8.xml:43(contrib) grpck.8.xml:41(contrib)
msgid "Creation, 1992"
msgstr ""
-#: pwck.8.xml:63(refentrytitle) pwck.8.xml:70(refname) pwck.8.xml:76(command)
-#: login.defs.5.xml:430(term)
+#: pwck.8.xml:64(refentrytitle) pwck.8.xml:71(refname) pwck.8.xml:77(command)
+#: login.defs.5.xml:434(term)
msgid "pwck"
msgstr "pwck"
-#: pwck.8.xml:71(refpurpose)
+#: pwck.8.xml:72(refpurpose)
msgid "verify integrity of password files"
msgstr "检查密ç æ–‡ä»¶çš„完整性"
-#: pwck.8.xml:80(replaceable) passwd.5.xml:57(refentrytitle)
+#: pwck.8.xml:81(replaceable) passwd.5.xml:57(refentrytitle)
#: passwd.5.xml:64(refname) passwd.1.xml:64(refentrytitle)
-#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:419(term)
+#: passwd.1.xml:71(refname) passwd.1.xml:77(command) login.defs.5.xml:423(term)
msgid "passwd"
msgstr "passwd"
-#: pwck.8.xml:93(para)
+#: pwck.8.xml:94(para)
msgid ""
"The <command>pwck</command> command verifies the integrity of the users and "
"authentication information. It checks that all entries in <filename>/etc/"
@@ -4668,35 +4778,35 @@ msgstr ""
"filename> 中的文件)</phrase> æ ¼å¼æ­£ç¡®ã€æ•°æ®æœ‰æ•ˆã€‚将会æ示用户删除格å¼ä¸æ­£ç¡®æˆ–"
"者有其它错误的项。"
-#: pwck.8.xml:105(para) grpck.8.xml:94(para)
+#: pwck.8.xml:106(para) grpck.8.xml:93(para)
msgid "Checks are made to verify that each entry has:"
msgstr "检查的项目有:"
-#: pwck.8.xml:108(para) grpck.8.xml:98(para)
+#: pwck.8.xml:109(para) grpck.8.xml:97(para)
msgid "the correct number of fields"
msgstr "正确的字段数"
-#: pwck.8.xml:111(para)
+#: pwck.8.xml:112(para)
msgid "a unique and valid user name"
msgstr "一个唯一且有效的用户å"
-#: pwck.8.xml:114(para)
+#: pwck.8.xml:115(para)
msgid "a valid user and group identifier"
msgstr "一个有效的用户和组标识符"
-#: pwck.8.xml:117(para)
+#: pwck.8.xml:118(para)
msgid "a valid primary group"
msgstr "有效的主组"
-#: pwck.8.xml:120(para)
+#: pwck.8.xml:121(para)
msgid "a valid home directory"
msgstr "有效的主目录"
-#: pwck.8.xml:123(para)
+#: pwck.8.xml:124(para)
msgid "a valid login shell"
msgstr "有效的登录 shell"
-#: pwck.8.xml:127(para)
+#: pwck.8.xml:128(para)
msgid ""
"<filename>shadow</filename> checks are enabled when a second file parameter "
"is specified or when <filename>/etc/shadow</filename> exists on the system."
@@ -4704,33 +4814,33 @@ msgstr ""
"当指定第二个文件å‚数或 <filename>/etc/shadow</filename> 在系统中存在时,å¯ç”¨ "
"<filename>shadow</filename> 检查。"
-#: pwck.8.xml:132(para)
+#: pwck.8.xml:133(para)
msgid "These checks are the following:"
msgstr "这些检查是:"
-#: pwck.8.xml:137(para)
+#: pwck.8.xml:138(para)
msgid ""
"every passwd entry has a matching shadow entry, and every shadow entry has a "
"matching passwd entry"
msgstr "æ¯ä¸ªå¯†ç é¡¹éƒ½æœ‰å¯¹åº”çš„å½±å­ç›¸ï¼Œå之亦然。"
-#: pwck.8.xml:143(para)
+#: pwck.8.xml:144(para)
msgid "passwords are specified in the shadowed file"
msgstr "密ç åœ¨å½±å­åŒ–了的文件中指定"
-#: pwck.8.xml:146(para)
+#: pwck.8.xml:147(para)
msgid "shadow entries have the correct number of fields"
msgstr "å½±å­é¡¹æœ‰æ­£ç¡®çš„字段数。"
-#: pwck.8.xml:149(para)
+#: pwck.8.xml:150(para)
msgid "shadow entries are unique in shadow"
msgstr "å½±å­é¡¹åœ¨å½±å­æ–‡ä»¶ä¸­æ˜¯å”¯ä¸€çš„"
-#: pwck.8.xml:152(para)
+#: pwck.8.xml:153(para)
msgid "the last password changes are not in the future"
msgstr "最åŽä¸€æ¬¡çš„密ç æ›´æ”¹æ—¶é—´ä¸æ˜¯è¢«è®¾æˆäº†ä¸€ä¸ªå°†æ¥çš„时间。"
-#: pwck.8.xml:156(para)
+#: pwck.8.xml:157(para)
msgid ""
"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 "
@@ -4741,7 +4851,7 @@ msgid ""
"<command>usermod</command> command to correct the error."
msgstr ""
-#: pwck.8.xml:167(para)
+#: pwck.8.xml:168(para)
msgid ""
"The commands which operate on the <filename>/etc/passwd</filename> file are "
"not able to alter corrupted or duplicated entries. <command>pwck</command> "
@@ -4750,34 +4860,34 @@ msgstr ""
"æ“作 <filename>/etc/passwd</filename> 文件的这些命令ä¸èƒ½è­¦å‘ŠæŸå或é‡å¤çš„æ¡"
"目,这些情况下,应该使用 <command>pwck</command> æ¥ç§»é™¤è¿™å†™æœ‰é—®é¢˜çš„æ¡ç›®ã€‚"
-#: pwck.8.xml:177(para) grpck.8.xml:148(para)
+#: pwck.8.xml:178(para) grpck.8.xml:147(para)
msgid ""
"The <option>-r</option> and <option>-s</option> options cannot be combined."
msgstr "<option>-r</option> å’Œ <option>-s</option> 选项ä¸èƒ½è”åˆä½¿ç”¨ã€‚"
-#: pwck.8.xml:181(para)
+#: pwck.8.xml:182(para)
msgid "The options which apply to the <command>pwck</command> command are:"
msgstr "<command>pwck</command> 选项å¯ä»¥æŽ¥å—的选项有:"
-#: pwck.8.xml:204(para)
+#: pwck.8.xml:205(para)
msgid ""
"Report errors only. The warnings which do not require any action from the "
"user won't be displayed."
msgstr "åªæŠ¥å‘Šé”™è¯¯ã€‚ä¸æ˜¾ç¤ºé‚£äº›ä¸éœ€è¦ç”¨æˆ·æ“作的警告。"
-#: pwck.8.xml:211(term) grpck.8.xml:163(term)
+#: pwck.8.xml:212(term) grpck.8.xml:162(term)
msgid "<option>-r</option>, <option>--read-only</option>"
msgstr "<option>-r</option>, <option>--read-only</option>"
-#: pwck.8.xml:213(para)
+#: pwck.8.xml:214(para)
msgid "Execute the <command>pwck</command> command in read-only mode."
msgstr "在åªè¯»æ¨¡å¼ä¸‹æ‰§è¡Œ <command>pwck</command>。"
-#: pwck.8.xml:231(term) grpck.8.xml:185(term)
+#: pwck.8.xml:232(term) grpck.8.xml:184(term)
msgid "<option>-s</option>, <option>--sort</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: pwck.8.xml:233(para)
+#: pwck.8.xml:234(para)
msgid ""
"Sort entries in <filename>/etc/passwd</filename> and <filename>/etc/shadow</"
"filename> by UID."
@@ -4785,11 +4895,11 @@ msgstr ""
"æ ¹æ® UID 在 <filename>/etc/passwd</filename> å’Œ <filename>/etc/shadow</"
"filename> 对项目进行排åºã€‚"
-#: pwck.8.xml:237(para)
+#: pwck.8.xml:238(para)
msgid "This option has no effect when <option>USE_TCB</option> is enabled."
msgstr "å¯ç”¨ <option>USE_TCB</option> 是,本选项无效。"
-#: pwck.8.xml:244(para)
+#: pwck.8.xml:245(para)
msgid ""
"By default, <command>pwck</command> operates on the files <filename>/etc/"
"passwd</filename> and <filename>/etc/shadow</filename><phrase condition=\"tcb"
@@ -4803,7 +4913,7 @@ msgstr ""
"<replaceable>passwd</replaceable> å’Œ <replaceable>shadow</replaceable> å‚æ•°æ¥"
"选择替代文件。"
-#: pwck.8.xml:253(para)
+#: pwck.8.xml:254(para)
#, fuzzy
#| msgid ""
#| "Note that when <option>USE_TCB</option> is enabled, you cannot specify an "
@@ -4817,33 +4927,47 @@ msgstr ""
"注æ„,<option>USE_TCB</option> å¯ç”¨æ—¶ï¼Œæ‚¨ä¸èƒ½æŒ‡å®šå¦å¤–çš„ <replaceable>shadow</"
"replaceable>。以åŽçš„版本中,此å‚æ•°å¯èƒ½ä¼šè¢«æ›¿æ¢æˆä¸€ä¸ªå¦å¤–çš„ TCB 目录。"
-#: pwck.8.xml:322(para)
+#: pwck.8.xml:32(term) login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>CONSOLE</option> (string)"
+msgid "<option>NONEXISTENT</option> (string)"
+msgstr "<option>CONSOLE</option> (string)"
+
+#: pwck.8.xml:34(para) login.defs.5.xml:34(para)
+msgid ""
+"If a system account intentionally does not have a home directory that "
+"exists, this string can be provided in the /etc/passwd entry for the account "
+"to indicate this. The result is that pwck will not emit a spurious warning "
+"for this account."
+msgstr ""
+
+#: pwck.8.xml:324(para)
msgid "one or more bad password entries"
msgstr "一个或多个错误的密ç æ¡ç›®"
-#: pwck.8.xml:328(para)
+#: pwck.8.xml:330(para)
msgid "can't open password files"
msgstr "无法打开密ç æ–‡ä»¶"
-#: pwck.8.xml:334(para)
+#: pwck.8.xml:336(para)
msgid "can't lock password files"
msgstr "无法é”定密ç æ–‡ä»¶"
-#: pwck.8.xml:340(para)
+#: pwck.8.xml:342(para)
msgid "can't update password files"
msgstr "无法更新密ç æ–‡ä»¶"
-#: pwck.8.xml:346(para)
+#: pwck.8.xml:348(para)
msgid "can't sort password files"
msgstr "无法在密ç æ–‡ä»¶ä¸­æŽ’åº"
-#: pwck.8.xml:304(para)
+#: pwck.8.xml:306(para)
msgid ""
"The <command>pwck</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>pwck</command> 命令有如下返回值:<placeholder-1/>"
-#: pwck.8.xml:355(para)
+#: pwck.8.xml:357(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>grpck</"
@@ -5057,15 +5181,22 @@ msgstr ""
"以å¹å·å¼€å§‹çš„密ç å­—段æ„味ç€å¯†ç è¢«é”定。该行的剩余字符表示é”定之å‰çš„密ç ã€‚"
#: passwd.5.xml:138(para)
+#, fuzzy
+#| msgid ""
+#| "The comment field is used by various system utilities, such as "
+#| "<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</"
+#| "manvolnum></citerefentry>."
msgid ""
-"The comment field is used by various system utilities, such as "
-"<citerefentry><refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum></"
-"citerefentry>."
+"The comment field, also known as the gecos field, is used by various system "
+"utilities, such as <citerefentry><refentrytitle>finger</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>. The use of an "
+"ampersand here will be replaced by the capitalised login name when the field "
+"is used or displayed by such system utilities."
msgstr ""
"此注释字段被多个系统工具使用,例如 <citerefentry><refentrytitle>finger</"
"refentrytitle><manvolnum>1</manvolnum></citerefentry>。"
-#: passwd.5.xml:144(para)
+#: passwd.5.xml:147(para)
msgid ""
"The home directory field provides the name of the initial working directory. "
"The <command>login</command> program uses this information to set the value "
@@ -5074,7 +5205,7 @@ msgstr ""
"主目录字段æ供了åˆå§‹å·¥ä½œç›®å½•çš„å称。<command>login</command> 程åºæ ¹æ®æ­¤ä¿¡æ¯è®¾"
"ç½® <envar>$HOME</envar> 环境å˜é‡ã€‚"
-#: passwd.5.xml:150(para)
+#: passwd.5.xml:153(para)
msgid ""
"The command interpreter field provides the name of the user's command "
"language interpreter, or the name of the initial program to execute. The "
@@ -5086,19 +5217,19 @@ msgstr ""
"<command>login</command> 程åºä½¿ç”¨æ­¤ä¿¡æ¯è®¾ç½® <envar>$SHELL</envar> 环境å˜é‡çš„"
"值。如果字段为空,默认值为 <filename>/bin/sh</filename>。"
-#: passwd.5.xml:171(para)
+#: passwd.5.xml:174(para)
msgid "optional encrypted password file"
msgstr "å¯é€‰çš„加密åŽçš„密ç æ–‡ä»¶"
-#: passwd.5.xml:175(filename)
+#: passwd.5.xml:178(filename)
msgid "/etc/passwd-"
msgstr "/etc/passwd-"
-#: passwd.5.xml:177(para)
+#: passwd.5.xml:180(para)
msgid "Backup file for /etc/passwd."
msgstr "/etc/passwd 的备份文件。"
-#: passwd.5.xml:189(para)
+#: passwd.5.xml:192(para)
msgid ""
"<citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>getent</"
@@ -5355,7 +5486,7 @@ msgstr ""
"<option>-n</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
-#: passwd.1.xml:273(para) chage.1.xml:174(para)
+#: passwd.1.xml:273(para) chage.1.xml:184(para)
msgid ""
"Set the minimum number of days between password changes to "
"<replaceable>MIN_DAYS</replaceable>. A value of zero for this field "
@@ -5442,7 +5573,7 @@ msgstr ""
"设置密ç ä»ç„¶æœ‰æ•ˆçš„最大天数。<replaceable>MAX_DAYS</replaceable> 之åŽï¼Œå¯†ç ä¼š"
"è¦æ±‚更改。"
-#: passwd.1.xml:366(para) chage.1.xml:195(para)
+#: passwd.1.xml:366(para) chage.1.xml:205(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as "
"<replaceable>MAX_DAYS</replaceable> will remove checking a password's "
@@ -5484,28 +5615,36 @@ msgstr "这定义了系统加密密ç çš„默认算法(如果没有在命令行ä¸
#: passwd.1.xml:36(para) newusers.8.xml:36(para) login.defs.5.xml:36(para)
#: gpasswd.1.xml:36(para) chpasswd.8.xml:36(para) chgpasswd.8.xml:36(para)
+#, fuzzy
+#| msgid ""
+#| "It can take one of these values: <replaceable>DES</replaceable> "
+#| "(default), <replaceable>MD5</replaceable><phrase condition=\"sha_crypt"
+#| "\">, <replaceable>SHA256</replaceable>, <replaceable>SHA512</"
+#| "replaceable></phrase>."
msgid ""
"It can take one of these values: <replaceable>DES</replaceable> (default), "
"<replaceable>MD5</replaceable><phrase condition=\"sha_crypt\">, "
"<replaceable>SHA256</replaceable>, <replaceable>SHA512</replaceable></"
-"phrase>."
+"phrase>. MD5 and DES should not be used for new hashes, see "
+"<refentrytitle>crypt</refentrytitle><manvolnum>5</manvolnum> for "
+"recommendations."
msgstr ""
"å¯ä»¥ä½¿ç”¨å¦‚下值:<replaceable>DES</replaceable> (default), <replaceable>MD5</"
"replaceable><phrase condition=\"sha_crypt\">, <replaceable>SHA256</"
"replaceable>, <replaceable>SHA512</replaceable></phrase>."
-#: passwd.1.xml:43(para) newusers.8.xml:43(para) login.defs.5.xml:43(para)
-#: gpasswd.1.xml:43(para) chpasswd.8.xml:43(para) chgpasswd.8.xml:43(para)
+#: passwd.1.xml:46(para) newusers.8.xml:46(para) login.defs.5.xml:46(para)
+#: gpasswd.1.xml:46(para) chpasswd.8.xml:46(para) chgpasswd.8.xml:46(para)
msgid ""
"Note: this parameter overrides the <option>MD5_CRYPT_ENAB</option> variable."
msgstr "注æ„,此å‚数会覆盖 <option>MD5_CRYPT_ENAB</option> å˜é‡ã€‚"
-#: passwd.1.xml:47(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
-#: newusers.8.xml:47(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
-#: login.defs.5.xml:47(para) login.defs.5.xml:53(para)
-#: login.defs.5.xml:62(para) gpasswd.1.xml:47(para) gpasswd.1.xml:53(para)
-#: gpasswd.1.xml:62(para) chpasswd.8.xml:47(para) chpasswd.8.xml:53(para)
-#: chpasswd.8.xml:62(para) chgpasswd.8.xml:47(para) chgpasswd.8.xml:53(para)
+#: passwd.1.xml:50(para) passwd.1.xml:53(para) passwd.1.xml:62(para)
+#: newusers.8.xml:50(para) newusers.8.xml:53(para) newusers.8.xml:62(para)
+#: login.defs.5.xml:50(para) login.defs.5.xml:53(para)
+#: login.defs.5.xml:62(para) gpasswd.1.xml:50(para) gpasswd.1.xml:53(para)
+#: gpasswd.1.xml:62(para) chpasswd.8.xml:50(para) chpasswd.8.xml:53(para)
+#: chpasswd.8.xml:62(para) chgpasswd.8.xml:50(para) chgpasswd.8.xml:53(para)
#: chgpasswd.8.xml:62(para)
msgid ""
"Note: This only affect the generation of group passwords. The generation of "
@@ -5633,8 +5772,13 @@ msgstr ""
#: passwd.1.xml:45(para) newusers.8.xml:45(para) login.defs.5.xml:45(para)
#: gpasswd.1.xml:45(para) chpasswd.8.xml:45(para) chgpasswd.8.xml:45(para)
+#, fuzzy
+#| msgid ""
+#| "If not specified, the libc will choose the default number of rounds "
+#| "(5000)."
msgid ""
-"If not specified, the libc will choose the default number of rounds (5000)."
+"If not specified, the libc will choose the default number of rounds (5000), "
+"which is orders of magnitude too low for modern hardware."
msgstr "如果没有指定,libc 会选择默认的轮转数(5000)。"
#: passwd.1.xml:49(para) newusers.8.xml:49(para) login.defs.5.xml:49(para)
@@ -5669,7 +5813,7 @@ msgstr "/etc/pam.d/passwd"
msgid "PAM configuration for <command>passwd</command>."
msgstr "<command>passwd</command> çš„ PAM é…置。"
-#: passwd.1.xml:456(para) chage.1.xml:297(para)
+#: passwd.1.xml:456(para) chage.1.xml:319(para)
msgid "permission denied"
msgstr "æƒé™ä¸å¤Ÿ"
@@ -5767,7 +5911,7 @@ msgid "The <command>nologin</command> command appeared in BSD 4.4."
msgstr "<command>nologin</command> 首次出现于 BSD 4.4。"
#: newusers.8.xml:73(refentrytitle) newusers.8.xml:80(refname)
-#: newusers.8.xml:86(command) login.defs.5.xml:400(term)
+#: newusers.8.xml:86(command) login.defs.5.xml:404(term)
msgid "newusers"
msgstr "newusers"
@@ -5949,12 +6093,16 @@ msgstr "此字段用于定义用户的主目录。"
msgid ""
"If this field does not specify an existing directory, the specified "
"directory is created, with ownership set to the user being created or "
-"updated and its primary group."
+"updated and its primary group. Note that <emphasis>newusers does not create "
+"parent directories </emphasis> of the new user's home directory. The "
+"newusers command will fail to create the home directory if the parent "
+"directories do not exist, and will send a message to stderr informing the "
+"user of the failure. The newusers command will not halt or return a failure "
+"to the calling shell if it fails to create the home directory, it will "
+"continue to process the batch of new users specified."
msgstr ""
-"如果此字段指定的ä¸æ˜¯çŽ°æœ‰çš„目录,将会创建指定的目录,所有æƒè®¾ç½®ä¸ºåˆ›å»ºæˆ–æ›´æ–°çš„"
-"用户åŠå…¶ä¸»ç»„。"
-#: newusers.8.xml:224(para)
+#: newusers.8.xml:232(para)
msgid ""
"If the home directory of an existing user is changed, <command>newusers</"
"command> does not move or copy the content of the old directory to the new "
@@ -5963,17 +6111,17 @@ msgstr ""
"如果现有用户的主目录å˜æ›´ï¼Œ<command>newusers</command> ä¸ä¼šç§»åŠ¨æˆ–者å¤åˆ¶æ—§ç›®å½•"
"的内容到新ä½ç½®ã€‚这需è¦æ‰‹åŠ¨å®Œæˆã€‚"
-#: newusers.8.xml:234(emphasis)
+#: newusers.8.xml:242(emphasis)
msgid "pw_shell"
msgstr "pw_shell"
-#: newusers.8.xml:237(para)
+#: newusers.8.xml:245(para)
msgid ""
"This field defines the shell of the user. No checks are performed on this "
"field."
msgstr "此字段定义了用户的 shell。对此字段ä¸è¿›è¡Œä»»ä½•æ£€æŸ¥ã€‚"
-#: newusers.8.xml:245(para)
+#: newusers.8.xml:253(para)
msgid ""
"<command>newusers</command> first tries to create or change all the "
"specified users, and then write these changes to the user or group "
@@ -5984,7 +6132,7 @@ msgstr ""
"写入用户或组数æ®åº“。如果å‘生错误(除éžæ˜¯åœ¨æœ€åŽå†™å…¥æ•°æ®åº“过程中),ä¸ä¼šæœ‰ä»»ä½•æ›´"
"改。"
-#: newusers.8.xml:251(para)
+#: newusers.8.xml:259(para)
msgid ""
"During this first pass, users are created with a locked password (and "
"passwords are not changed for the users which are not created). A second "
@@ -5992,25 +6140,25 @@ msgid ""
"password are reported, but will not stop the other password updates."
msgstr ""
-#: newusers.8.xml:259(para)
+#: newusers.8.xml:267(para)
msgid ""
"This command is intended to be used in a large system environment where many "
"accounts are updated at a single time."
msgstr "此命令一般用于在大型的应用环境中,对大é‡è´¦æˆ·è¿›è¡Œä¸€æ¬¡æ€§æ›´æ–°ã€‚"
-#: newusers.8.xml:267(para)
+#: newusers.8.xml:275(para)
msgid "The options which apply to the <command>newusers</command> command are:"
msgstr "<command>newusers</command> 命令å¯ä»¥ä½¿ç”¨çš„选项有:"
-#: newusers.8.xml:284(term) chgpasswd.8.xml:112(term)
+#: newusers.8.xml:292(term) chgpasswd.8.xml:112(term)
msgid "<option>-c</option>, <option>--crypt-method</option>"
msgstr "<option>-c</option>, <option>--crypt-method</option>"
-#: newusers.8.xml:286(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
+#: newusers.8.xml:294(para) chpasswd.8.xml:141(para) chgpasswd.8.xml:114(para)
msgid "Use the specified method to encrypt the passwords."
msgstr "使用指定的方法加密密ç ã€‚"
-#: newusers.8.xml:287(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
+#: newusers.8.xml:295(para) chpasswd.8.xml:145(para) chgpasswd.8.xml:118(para)
msgid ""
"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc "
"support these methods."
@@ -6018,7 +6166,7 @@ msgstr ""
"å¯ç”¨çš„方法有 DES, MD5, NONE, and SHA256 或 SHA512,å‰æ是您的 libc 支æŒè¿™å†™æ–¹"
"法。"
-#: newusers.8.xml:309(para)
+#: newusers.8.xml:317(para)
msgid ""
"System users will be created with no aging information in <filename>/etc/"
"shadow</filename>, and their numeric identifiers are chosen in the "
@@ -6028,30 +6176,30 @@ msgid ""
"the creation of groups)."
msgstr ""
-#: newusers.8.xml:335(term) chgpasswd.8.xml:158(term)
+#: newusers.8.xml:343(term) chgpasswd.8.xml:158(term)
msgid "<option>-s</option>, <option>--sha-rounds</option>"
msgstr "<option>-s</option>, <option>--sha-rounds</option>"
-#: newusers.8.xml:337(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
+#: newusers.8.xml:345(para) chpasswd.8.xml:204(para) chgpasswd.8.xml:160(para)
msgid "Use the specified number of rounds to encrypt the passwords."
msgstr "使用指定次数的轮转æ¥åŠ å¯†å¯†ç ã€‚"
-#: newusers.8.xml:340(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
+#: newusers.8.xml:348(para) chpasswd.8.xml:207(para) chgpasswd.8.xml:163(para)
msgid ""
"The value 0 means that the system will choose the default number of rounds "
"for the crypt method (5000)."
msgstr "值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。"
-#: newusers.8.xml:344(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
+#: newusers.8.xml:352(para) chpasswd.8.xml:211(para) chgpasswd.8.xml:167(para)
msgid ""
"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced."
msgstr "ä¼šå¼ºåˆ¶æœ€å° 1,000,最大 9,9999,9999"
-#: newusers.8.xml:348(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
+#: newusers.8.xml:356(para) chpasswd.8.xml:215(para) chgpasswd.8.xml:171(para)
msgid "You can only use this option with the SHA256 or SHA512 crypt method."
msgstr "您åªå¯ä»¥å¯¹ SHA256 或 SHA512 使用此选项。"
-#: newusers.8.xml:352(para) chgpasswd.8.xml:175(para)
+#: newusers.8.xml:360(para) chgpasswd.8.xml:175(para)
msgid ""
"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and "
"SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</filename>."
@@ -6059,26 +6207,26 @@ msgstr ""
"默认,轮转数由 <filename>/etc/login.defs</filename> 文件中的 "
"SHA_CRYPT_MIN_ROUNDS å’Œ SHA_CRYPT_MAX_ROUNDS å˜é‡ç¡®å®šã€‚"
-#: newusers.8.xml:364(para)
+#: newusers.8.xml:372(para)
msgid ""
"The input file must be protected since it contains unencrypted passwords."
msgstr "输入文件必须å—到ä¿æŠ¤ï¼Œå› ä¸ºå®ƒåŒ…å«æœªåŠ å¯†çš„密ç ã€‚"
-#: newusers.8.xml:368(para) chgpasswd.8.xml:191(para)
+#: newusers.8.xml:376(para) chgpasswd.8.xml:191(para)
msgid ""
"You should make sure the passwords and the encryption method respect the "
"system's password policy."
msgstr "您需è¦ç¡®ä¿ä½ å—和加密方法符åˆç³»ç»Ÿçš„密ç ç­–略。"
-#: newusers.8.xml:444(filename)
+#: newusers.8.xml:452(filename)
msgid "/etc/pam.d/newusers"
msgstr "/etc/pam.d/newusers"
-#: newusers.8.xml:446(para)
+#: newusers.8.xml:454(para)
msgid "PAM configuration for <command>newusers</command>."
msgstr "<command>newusers</command> çš„ PAM é…置。"
-#: newusers.8.xml:466(para)
+#: newusers.8.xml:474(para)
#, fuzzy
#| msgid ""
#| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</"
@@ -6117,7 +6265,7 @@ msgstr "newgrp"
msgid "log in to a new group"
msgstr "登录到一个新组"
-#: newgrp.1.xml:72(replaceable) grpck.8.xml:74(replaceable)
+#: newgrp.1.xml:72(replaceable) grpck.8.xml:73(replaceable)
#: groupadd.8.xml:78(replaceable) gpasswd.1.xml:88(replaceable)
msgid "group"
msgstr "group"
@@ -6207,15 +6355,15 @@ msgstr "/var/run/utmp"
msgid "List of current login sessions."
msgstr "当å‰ç™»å½•ä¼šè¯çš„列表。"
-#: login.defs.5.xml:124(refentrytitle) login.defs.5.xml:131(refname)
+#: login.defs.5.xml:126(refentrytitle) login.defs.5.xml:133(refname)
msgid "login.defs"
msgstr "login.defs"
-#: login.defs.5.xml:132(refpurpose)
+#: login.defs.5.xml:134(refpurpose)
msgid "shadow password suite configuration"
msgstr "å½±å­å¯†ç å¥—件é…ç½®"
-#: login.defs.5.xml:137(para)
+#: login.defs.5.xml:139(para)
msgid ""
"The <filename>/etc/login.defs</filename> file defines the site-specific "
"configuration for the shadow password suite. This file is required. Absence "
@@ -6223,7 +6371,7 @@ msgid ""
"undesirable operation."
msgstr ""
-#: login.defs.5.xml:144(para)
+#: login.defs.5.xml:146(para)
msgid ""
"This file is a readable text file, each line of the file describing one "
"configuration parameter. The lines consist of a configuration name and "
@@ -6232,7 +6380,7 @@ msgid ""
"the first non-white character of the line."
msgstr ""
-#: login.defs.5.xml:152(para)
+#: login.defs.5.xml:154(para)
msgid ""
"Parameter values may be of four types: strings, booleans, numbers, and long "
"numbers. A string is comprised of any printable characters. A boolean should "
@@ -6245,7 +6393,7 @@ msgid ""
"and long numeric parameters is machine-dependent."
msgstr ""
-#: login.defs.5.xml:167(para)
+#: login.defs.5.xml:169(para)
msgid "The following configuration items are provided:"
msgstr "æ供如下é…置项:"
@@ -6353,6 +6501,30 @@ msgid ""
"If defined, login failures will be logged in this file in a utmp format."
msgstr "如果定义,登录失败会以 utmp æ ¼å¼è®°å½•åœ¨æ­¤æ–‡ä»¶ä¸­ã€‚"
+#: login.defs.5.xml:32(term)
+#, fuzzy
+#| msgid "<option>ENCRYPT_METHOD</option> (string)"
+msgid "<option>HMAC_CRYPTO_ALGO</option> (string)"
+msgstr "<option>ENCRYPT_METHOD</option> (string)"
+
+#: login.defs.5.xml:34(para)
+msgid ""
+"Used to select the HMAC cryptography algorithm that the pam_timestamp module "
+"is going to use to calculate the keyed-hash message authentication code."
+msgstr ""
+
+#: login.defs.5.xml:39(para)
+#, fuzzy
+#| msgid ""
+#| "Refer to <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+#| "manvolnum></citerefentry> for details on how this string is interpreted."
+msgid ""
+"Note: Check <refentrytitle>hmac</refentrytitle><manvolnum>3</manvolnum> to "
+"see the possible algorithms that are available in your system."
+msgstr ""
+"请å‚考 <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> æ¥äº†è§£å…³äºŽè§£æžæ­¤å­—符串的细节信æ¯ã€‚"
+
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>HUSHLOGIN_FILE</option> (string)"
msgstr "<option>HUSHLOGIN_FILE</option> (string)"
@@ -6372,7 +6544,7 @@ msgstr "<option>ISSUE_FILE</option> (string)"
#: login.defs.5.xml:34(para) login.1.xml:34(para)
msgid "If defined, this file will be displayed before each login prompt."
-msgstr "如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰çŽ°å®žã€‚"
+msgstr "如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰æ˜¾ç¤ºã€‚"
#: login.defs.5.xml:32(term) login.1.xml:32(term)
msgid "<option>KILLCHAR</option> (number)"
@@ -6468,7 +6640,7 @@ msgid ""
"inhibited."
msgstr ""
-#: login.defs.5.xml:212(para)
+#: login.defs.5.xml:216(para)
msgid ""
"<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and "
"<option>PASS_WARN_AGE</option> are only used at the time of account "
@@ -6540,32 +6712,32 @@ msgstr "<option>ULIMIT</option> (number)"
msgid "Default <command>ulimit</command> value."
msgstr "默认 <command>ulimit</command> 值。"
-#: login.defs.5.xml:245(title)
+#: login.defs.5.xml:249(title)
msgid "CROSS REFERENCES"
msgstr "交å‰å¼•ç”¨"
-#: login.defs.5.xml:246(para)
+#: login.defs.5.xml:250(para)
msgid ""
"The following cross references show which programs in the shadow password "
"suite use which parameters."
msgstr "如下交å‰å¼•ç”¨æ˜¾ç¤ºå½±å­å¯†ç å¥—件哪个程åºä½¿ç”¨å“ªä¸ªå‚数。"
-#: login.defs.5.xml:253(term) chage.1.xml:58(refentrytitle)
+#: login.defs.5.xml:257(term) chage.1.xml:58(refentrytitle)
#: chage.1.xml:65(refname) chage.1.xml:70(command)
msgid "chage"
msgstr "chage"
-#: login.defs.5.xml:255(para) login.defs.5.xml:451(phrase)
-#: login.defs.5.xml:523(phrase)
+#: login.defs.5.xml:259(para) login.defs.5.xml:455(phrase)
+#: login.defs.5.xml:527(phrase)
msgid "USE_TCB"
msgstr "USE_TCB"
-#: login.defs.5.xml:259(term) chfn.1.xml:60(refentrytitle)
+#: login.defs.5.xml:263(term) chfn.1.xml:60(refentrytitle)
#: chfn.1.xml:67(refname) chfn.1.xml:73(command)
msgid "chfn"
msgstr "chfn"
-#: login.defs.5.xml:261(para)
+#: login.defs.5.xml:265(para)
msgid ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
@@ -6573,12 +6745,12 @@ msgstr ""
"<phrase condition=\"no_pam\">CHFN_AUTH</phrase> CHFN_RESTRICT <phrase "
"condition=\"no_pam\">LOGIN_STRING</phrase>"
-#: login.defs.5.xml:269(term) chgpasswd.8.xml:57(refentrytitle)
+#: login.defs.5.xml:273(term) chgpasswd.8.xml:57(refentrytitle)
#: chgpasswd.8.xml:64(refname) chgpasswd.8.xml:70(command)
msgid "chgpasswd"
msgstr "chgpasswd"
-#: login.defs.5.xml:271(para) login.defs.5.xml:302(para)
+#: login.defs.5.xml:275(para) login.defs.5.xml:306(para)
msgid ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
@@ -6586,84 +6758,84 @@ msgstr ""
"ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase condition="
"\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:279(term) chpasswd.8.xml:61(refentrytitle)
+#: login.defs.5.xml:283(term) chpasswd.8.xml:61(refentrytitle)
#: chpasswd.8.xml:68(refname) chpasswd.8.xml:74(command)
msgid "chpasswd"
msgstr "chpasswd"
-#: login.defs.5.xml:282(phrase)
+#: login.defs.5.xml:286(phrase)
msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB"
msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB"
-#: login.defs.5.xml:284(phrase)
+#: login.defs.5.xml:288(phrase)
msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS"
-#: login.defs.5.xml:290(term) chsh.1.xml:60(refentrytitle)
+#: login.defs.5.xml:294(term) chsh.1.xml:60(refentrytitle)
#: chsh.1.xml:67(refname) chsh.1.xml:73(command)
msgid "chsh"
msgstr "chsh"
-#: login.defs.5.xml:292(para)
+#: login.defs.5.xml:296(para)
msgid "CHSH_AUTH LOGIN_STRING"
msgstr "CHSH_AUTH LOGIN_STRING"
-#: login.defs.5.xml:300(term) gpasswd.1.xml:62(refentrytitle)
+#: login.defs.5.xml:304(term) gpasswd.1.xml:62(refentrytitle)
#: gpasswd.1.xml:69(refname) gpasswd.1.xml:83(command)
msgid "gpasswd"
msgstr "gpasswd"
-#: login.defs.5.xml:310(term) groupadd.8.xml:60(refentrytitle)
+#: login.defs.5.xml:314(term) groupadd.8.xml:60(refentrytitle)
#: groupadd.8.xml:67(refname) groupadd.8.xml:73(command)
msgid "groupadd"
msgstr "groupadd"
-#: login.defs.5.xml:312(para)
+#: login.defs.5.xml:316(para)
msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
msgstr "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN"
-#: login.defs.5.xml:319(term) groupdel.8.xml:58(refentrytitle)
+#: login.defs.5.xml:323(term) groupdel.8.xml:58(refentrytitle)
#: groupdel.8.xml:65(refname) groupdel.8.xml:71(command)
msgid "groupdel"
msgstr "groupdel"
-#: login.defs.5.xml:321(para) login.defs.5.xml:327(para)
-#: login.defs.5.xml:333(para) login.defs.5.xml:340(para)
-#: login.defs.5.xml:346(para) login.defs.5.xml:352(para)
+#: login.defs.5.xml:325(para) login.defs.5.xml:331(para)
+#: login.defs.5.xml:337(para) login.defs.5.xml:344(para)
+#: login.defs.5.xml:350(para) login.defs.5.xml:356(para)
msgid "MAX_MEMBERS_PER_GROUP"
msgstr "MAX_MEMBERS_PER_GROUP"
-#: login.defs.5.xml:325(term) groupmems.8.xml:61(refentrytitle)
+#: login.defs.5.xml:329(term) groupmems.8.xml:61(refentrytitle)
#: groupmems.8.xml:68(refname) groupmems.8.xml:74(command)
msgid "groupmems"
msgstr "groupmems"
-#: login.defs.5.xml:331(term) groupmod.8.xml:58(refentrytitle)
+#: login.defs.5.xml:335(term) groupmod.8.xml:58(refentrytitle)
#: groupmod.8.xml:65(refname) groupmod.8.xml:71(command)
msgid "groupmod"
msgstr "groupmod"
-#: login.defs.5.xml:338(term) grpck.8.xml:58(refentrytitle)
-#: grpck.8.xml:65(refname) grpck.8.xml:71(command)
+#: login.defs.5.xml:342(term) grpck.8.xml:57(refentrytitle)
+#: grpck.8.xml:64(refname) grpck.8.xml:70(command)
msgid "grpck"
msgstr "grpck"
-#: login.defs.5.xml:357(term) lastlog.8.xml:59(refentrytitle)
+#: login.defs.5.xml:361(term) lastlog.8.xml:59(refentrytitle)
#: lastlog.8.xml:66(refname) lastlog.8.xml:72(command)
msgid "lastlog"
msgstr "lastlog"
-#: login.defs.5.xml:359(para)
+#: login.defs.5.xml:363(para)
msgid "LASTLOG_UID_MAX"
msgstr ""
-#: login.defs.5.xml:363(term) login.1.xml:90(refentrytitle)
+#: login.defs.5.xml:367(term) login.1.xml:90(refentrytitle)
#: login.1.xml:97(refname) login.1.xml:103(command) login.1.xml:111(command)
#: login.1.xml:118(command)
msgid "login"
msgstr "login"
-#: login.defs.5.xml:365(para)
+#: login.defs.5.xml:369(para)
#, fuzzy
#| msgid ""
#| "<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
@@ -6703,15 +6875,15 @@ msgstr ""
"TTYGROUP TTYPERM TTYTYPE_FILE <phrase condition=\"no_pam\">ULIMIT UMASK</"
"phrase> USERGROUPS_ENAB"
-#: login.defs.5.xml:392(term)
+#: login.defs.5.xml:396(term)
msgid "newgrp / sg"
msgstr "newgrp / sg"
-#: login.defs.5.xml:394(para)
+#: login.defs.5.xml:398(para)
msgid "SYSLOG_SG_ENAB"
msgstr "SYSLOG_SG_ENAB"
-#: login.defs.5.xml:402(para)
+#: login.defs.5.xml:406(para)
#, fuzzy
#| msgid ""
#| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB "
@@ -6730,7 +6902,7 @@ msgstr ""
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase> SYS_GID_MAX "
"SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK"
-#: login.defs.5.xml:421(para)
+#: login.defs.5.xml:425(para)
msgid ""
"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN "
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
@@ -6740,7 +6912,7 @@ msgstr ""
"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase condition=\"sha_crypt"
"\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>"
-#: login.defs.5.xml:432(para)
+#: login.defs.5.xml:436(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
@@ -6748,7 +6920,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb"
"\">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:441(para)
+#: login.defs.5.xml:445(para)
msgid ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
@@ -6756,7 +6928,7 @@ msgstr ""
"PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase condition=\"tcb\">USE_TCB</"
"phrase>"
-#: login.defs.5.xml:458(para)
+#: login.defs.5.xml:462(para)
msgid ""
"<phrase condition=\"no_pam\">CONSOLE</phrase> CONSOLE_GROUPS DEFAULT_HOME "
"<phrase condition=\"no_pam\">ENV_HZ ENVIRON_FILE</phrase> ENV_PATH "
@@ -6772,15 +6944,15 @@ msgstr ""
"\"no_pam\">SU_WHEEL_ONLY</phrase> SYSLOG_SU_ENAB <phrase condition=\"no_pam"
"\">USERGROUPS_ENAB</phrase>"
-#: login.defs.5.xml:473(term)
+#: login.defs.5.xml:477(term)
msgid "sulogin"
msgstr "sulogin"
-#: login.defs.5.xml:475(para)
+#: login.defs.5.xml:479(para)
msgid "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
msgstr "ENV_HZ <phrase condition=\"no_pam\">ENV_TZ</phrase>"
-#: login.defs.5.xml:484(para)
+#: login.defs.5.xml:488(para)
#, fuzzy
#| msgid ""
#| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS "
@@ -6799,7 +6971,7 @@ msgstr ""
"UID_MAX UID_MIN UMASK <phrase condition=\"tcb\">TCB_AUTH_GROUP TCB_SYMLINK "
"USE_TCB</phrase>"
-#: login.defs.5.xml:502(para)
+#: login.defs.5.xml:506(para)
msgid ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
@@ -6807,7 +6979,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <phrase "
"condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:512(para)
+#: login.defs.5.xml:516(para)
#, fuzzy
#| msgid ""
#| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
@@ -6819,7 +6991,7 @@ msgstr ""
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase condition=\"tcb"
"\">TCB_SYMLINKS USE_TCB</phrase>"
-#: login.defs.5.xml:532(para)
+#: login.defs.5.xml:536(para)
msgid ""
"Much of the functionality that used to be provided by the shadow password "
"suite is now handled by PAM. Thus, <filename>/etc/login.defs</filename> is "
@@ -6831,7 +7003,7 @@ msgid ""
"corresponding PAM configuration files instead."
msgstr ""
-#: login.defs.5.xml:548(para)
+#: login.defs.5.xml:552(para)
msgid ""
"<citerefentry><refentrytitle>login</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>passwd</"
@@ -7125,7 +7297,7 @@ msgstr "$HOME/.hushlogin"
#: login.1.xml:385(para)
msgid "Suppress printing of system messages."
-msgstr "阻止现实系统信æ¯ã€‚"
+msgstr "阻止显示系统信æ¯ã€‚"
#: login.1.xml:399(para)
msgid ""
@@ -7453,7 +7625,7 @@ msgstr ""
msgid ""
"Print the lastlog records more recent than <emphasis remap=\"I\">DAYS</"
"emphasis>."
-msgstr "åªçŽ°å®žæ–°äºŽ <emphasis remap=\"I\">DAYS</emphasis> 的最近登录记录。"
+msgstr "åªæ˜¾ç¤ºæ–°äºŽ <emphasis remap=\"I\">DAYS</emphasis> 的最近登录记录。"
#: lastlog.8.xml:161(term) faillog.8.xml:202(term)
msgid ""
@@ -7465,7 +7637,7 @@ msgstr ""
#: lastlog.8.xml:165(para)
msgid "Print the lastlog record of the specified user(s)."
-msgstr "现实指定用户的最近登录记录。"
+msgstr "显示指定用户的最近登录记录。"
#: lastlog.8.xml:168(para) faillog.8.xml:211(para)
msgid ""
@@ -7491,7 +7663,7 @@ msgid ""
msgstr ""
#: lastlog.8.xml:193(title) groups.1.xml:90(title) chsh.1.xml:140(title)
-#: chage.1.xml:237(title)
+#: chage.1.xml:247(title)
msgid "NOTE"
msgstr "注æ„"
@@ -7505,7 +7677,7 @@ msgid ""
"its real size with \"<command>ls -s</command>\"."
msgstr ""
-#: lastlog.8.xml:220(filename)
+#: lastlog.8.xml:220(filename) lastlog.8.xml:237(filename)
msgid "/var/log/lastlog"
msgstr "/var/log/lastlog"
@@ -7521,6 +7693,14 @@ msgid ""
"processes entries with UIDs 171-799)."
msgstr ""
+#: lastlog.8.xml:236(para)
+msgid ""
+"Having high UIDs can create problems when handling the <placeholder-1/> with "
+"external tools. Although the actual file is sparse and does not use too much "
+"space, certain applications are not designed to identify sparse files by "
+"default and may require a specific option to handle them."
+msgstr ""
+
#: gshadow.5.xml:41(contrib)
msgid "Creation, 2005"
msgstr ""
@@ -7637,11 +7817,11 @@ msgstr ""
"<citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>."
-#: grpck.8.xml:66(refpurpose)
+#: grpck.8.xml:65(refpurpose)
msgid "verify integrity of group files"
msgstr "检查组文件的完整性"
-#: grpck.8.xml:84(para)
+#: grpck.8.xml:83(para)
msgid ""
"The <command>grpck</command> command verifies the integrity of the groups "
"information. It checks that all entries in <filename>/etc/group</"
@@ -7651,11 +7831,11 @@ msgid ""
"other uncorrectable errors."
msgstr ""
-#: grpck.8.xml:101(para)
+#: grpck.8.xml:100(para)
msgid "a unique and valid group name"
msgstr "一个唯一且有效的组å"
-#: grpck.8.xml:104(para)
+#: grpck.8.xml:103(para)
msgid ""
"a valid group identifier <phrase condition=\"gshadow\"> (<filename>/etc/"
"group</filename> only)</phrase>"
@@ -7663,20 +7843,20 @@ msgstr ""
"有效的组标识符 <phrase condition=\"gshadow\"> (仅 <filename>/etc/group</"
"filename>)</phrase>"
-#: grpck.8.xml:111(para)
+#: grpck.8.xml:110(para)
msgid ""
"a valid list of members <phrase condition=\"gshadow\"> and administrators</"
"phrase>"
msgstr "有效的æˆå‘˜å’Œ <phrase condition=\"gshadow\">管ç†å‘˜</phrase> 列表。"
-#: grpck.8.xml:117(para)
+#: grpck.8.xml:116(para)
msgid ""
"a corresponding entry in the <filename>/etc/gshadow</filename> file "
"(respectively <filename>/etc/group</filename> for the <filename>gshadow</"
"filename> checks)"
msgstr ""
-#: grpck.8.xml:125(para)
+#: grpck.8.xml:124(para)
msgid ""
"The checks for correct number of fields and unique group name are fatal. If "
"an entry has the wrong number of fields, the user will be prompted to delete "
@@ -7687,7 +7867,7 @@ msgid ""
"command to correct the error."
msgstr ""
-#: grpck.8.xml:136(para)
+#: grpck.8.xml:135(para)
msgid ""
"The commands which operate on the <filename>/etc/group</filename><phrase "
"condition=\"no_gshadow\">file</phrase><phrase condition=\"gshadow\">and "
@@ -7696,18 +7876,18 @@ msgid ""
"those circumstances to remove the offending entries."
msgstr ""
-#: grpck.8.xml:152(para)
+#: grpck.8.xml:151(para)
msgid "The options which apply to the <command>grpck</command> command are:"
msgstr "<command>grpck</command> å¯ä»¥æŽ¥å—的选项有:"
-#: grpck.8.xml:165(para)
+#: grpck.8.xml:164(para)
msgid ""
"Execute the <command>grpck</command> command in read-only mode. This causes "
"all questions regarding changes to be answered <emphasis>no</emphasis> "
"without user intervention."
msgstr ""
-#: grpck.8.xml:187(para)
+#: grpck.8.xml:186(para)
msgid ""
"Sort entries in <filename>/etc/group</filename><phrase condition=\"gshadow"
"\">and <filename>/etc/gshadow</filename></phrase> by GID."
@@ -7715,7 +7895,20 @@ msgstr ""
"æ ¹æ® GID 在 <filename>/etc/group</filename><phrase condition=\"gshadow\"> å’Œ "
"<filename>/etc/gshadow</filename></phrase> 中进行排åºã€‚"
-#: grpck.8.xml:196(para)
+#: grpck.8.xml:195(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-S</option>, <option>--silence-warnings</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: grpck.8.xml:197(para)
+msgid ""
+"Suppress more controversial warnings, in particular warnings about "
+"inconsistency between group members listed in <filename>/etc/group</"
+"filename> and <filename>/etc/ghadow</filename>."
+msgstr ""
+
+#: grpck.8.xml:206(para)
#, fuzzy
#| msgid ""
#| "By default, <command>pwck</command> operates on the files <filename>/etc/"
@@ -7737,29 +7930,29 @@ msgstr ""
"<replaceable>passwd</replaceable> å’Œ <replaceable>shadow</replaceable> å‚æ•°æ¥"
"选择替代文件。"
-#: grpck.8.xml:264(para)
+#: grpck.8.xml:274(para)
msgid "one or more bad group entries"
msgstr "一个或多个å掉的组æ¡ç›®"
-#: grpck.8.xml:270(para)
+#: grpck.8.xml:280(para)
msgid "can't open group files"
msgstr "无法打开组文件"
-#: grpck.8.xml:276(para)
+#: grpck.8.xml:286(para)
msgid "can't lock group files"
msgstr "无法é”定组文件"
-#: grpck.8.xml:282(para)
+#: grpck.8.xml:292(para)
msgid "can't update group files"
msgstr "无法更新组文件"
-#: grpck.8.xml:246(para)
+#: grpck.8.xml:256(para)
msgid ""
"The <command>grpck</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>grpck</command> å¯ä»¥è¿”回如下值:<placeholder-1/>"
-#: grpck.8.xml:291(para)
+#: grpck.8.xml:301(para)
msgid ""
"<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>groupmod</"
@@ -7790,7 +7983,7 @@ msgstr "groups"
#: groups.1.xml:65(refpurpose)
msgid "display current group names"
-msgstr "现实当å‰ç»„å"
+msgstr "显示当å‰ç»„å"
#: groups.1.xml:72(replaceable)
msgid "user"
@@ -7848,9 +8041,13 @@ msgstr ""
msgid "The options which apply to the <command>groupmod</command> command are:"
msgstr "<command>groupmod</command> 命令å¯ä»¥æŽ¥å—的选项有:"
-#: groupmod.8.xml:96(term) groupadd.8.xml:114(term)
+#: groupmod.8.xml:96(term)
+#, fuzzy
+#| msgid ""
+#| "<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+#| "replaceable>"
msgid ""
-"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"<option>-a</option>, <option>--append</option>&nbsp;<replaceable>GID</"
"replaceable>"
msgstr ""
"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
@@ -7858,30 +8055,44 @@ msgstr ""
#: groupmod.8.xml:100(para)
msgid ""
+"If group members are specified with -U, append them to the existing member "
+"list, rather than replacing it."
+msgstr ""
+
+#: groupmod.8.xml:105(term) groupadd.8.xml:114(term)
+msgid ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+msgstr ""
+"<option>-g</option>, <option>--gid</option>&nbsp;<replaceable>GID</"
+"replaceable>"
+
+#: groupmod.8.xml:109(para)
+msgid ""
"The group ID of the given <replaceable>GROUP</replaceable> will be changed "
"to <replaceable>GID</replaceable>."
msgstr ""
-#: groupmod.8.xml:104(para)
+#: groupmod.8.xml:113(para)
msgid ""
"The value of <replaceable>GID</replaceable> must be a non-negative decimal "
"integer. This value must be unique, unless the <option>-o</option> option is "
"used."
msgstr ""
-#: groupmod.8.xml:110(para)
+#: groupmod.8.xml:119(para)
msgid ""
"Users who use the group as primary group will be updated to keep the group "
"as their primary group."
msgstr ""
-#: groupmod.8.xml:114(para)
+#: groupmod.8.xml:123(para)
msgid ""
"Any files that have the old group ID and must continue to belong to "
"<replaceable>GROUP</replaceable>, must have their group ID changed manually."
msgstr ""
-#: groupmod.8.xml:120(para)
+#: groupmod.8.xml:129(para)
#, fuzzy
#| msgid ""
#| "The default behavior (if the <option>-g</option>, <option>-N</option>, "
@@ -7897,7 +8108,7 @@ msgstr ""
"选项,默认行为由 <filename>/etc/login.defs</filename> 中的 "
"<option>USERGROUPS_ENAB</option> å˜é‡æŒ‡å®šã€‚"
-#: groupmod.8.xml:135(term)
+#: groupmod.8.xml:144(term)
msgid ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
@@ -7905,89 +8116,101 @@ msgstr ""
"<option>-n</option>, <option>--new-name</option>&nbsp;"
"<replaceable>NEW_GROUP</replaceable>"
-#: groupmod.8.xml:139(para)
+#: groupmod.8.xml:148(para)
msgid ""
"The name of the group will be changed from <replaceable>GROUP</replaceable> "
"to <replaceable>NEW_GROUP</replaceable> name."
msgstr ""
-#: groupmod.8.xml:150(para)
+#: groupmod.8.xml:159(para)
msgid ""
"When used with the <option>-g</option> option, allow to change the group "
"<replaceable>GID</replaceable> to a non-unique value."
msgstr ""
-#: groupmod.8.xml:259(para)
+#: groupmod.8.xml:216(term) groupadd.8.xml:233(term)
+#, fuzzy
+#| msgid "<option>-u</option>, <option>--user</option>"
+msgid "<option>-U</option>, <option>--users</option>"
+msgstr "<option>-u</option>, <option>--user</option>"
+
+#: groupmod.8.xml:220(para) groupadd.8.xml:237(para)
+#, fuzzy
+#| msgid "Administrators can change the password or the members of the group."
+msgid "A list of usernames to add as members of the group."
+msgstr "管ç†å‘˜å¯ä»¥æ›´æ”¹ç»„密ç å’Œæˆå‘˜ã€‚"
+
+#: groupmod.8.xml:284(para)
msgid "E_SUCCESS: success"
msgstr ""
-#: groupmod.8.xml:265(para)
+#: groupmod.8.xml:290(para)
#, fuzzy
#| msgid "invalid command syntax"
msgid "E_USAGE: invalid command syntax"
msgstr "无效的命令语法"
-#: groupmod.8.xml:271(para)
+#: groupmod.8.xml:296(para)
#, fuzzy
#| msgid "invalid argument to option"
msgid "E_BAD_ARG: invalid argument to option"
msgstr "给了选项一个无效的å‚æ•°"
-#: groupmod.8.xml:277(para)
+#: groupmod.8.xml:302(para)
#, fuzzy
-#| msgid "specified group doesn't exist"
-msgid "E_GID_IN_USE: specified group doesn't exist"
-msgstr "指定的组ä¸å­˜åœ¨"
+#| msgid "group name already in use"
+msgid "E_GID_IN_USE: group id already in use"
+msgstr "组åå·²ç»åœ¨ä½¿ç”¨"
-#: groupmod.8.xml:283(para)
+#: groupmod.8.xml:308(para)
#, fuzzy
#| msgid "specified group doesn't exist"
msgid "E_NOTFOUND: specified group doesn't exist"
msgstr "指定的组ä¸å­˜åœ¨"
-#: groupmod.8.xml:289(para)
+#: groupmod.8.xml:314(para)
#, fuzzy
#| msgid "group name already in use"
msgid "E_NAME_IN_USE: group name already in use"
msgstr "组åå·²ç»åœ¨ä½¿ç”¨"
-#: groupmod.8.xml:295(para)
+#: groupmod.8.xml:320(para)
#, fuzzy
#| msgid "can't update group file"
msgid "E_GRP_UPDATE: can't update group file"
msgstr "无法更新组文件"
-#: groupmod.8.xml:299(replaceable)
+#: groupmod.8.xml:324(replaceable)
#, fuzzy
#| msgid "1"
msgid "11"
msgstr "1"
-#: groupmod.8.xml:301(para)
+#: groupmod.8.xml:326(para)
msgid "E_CLEANUP_SERVICE: can't setup cleanup service"
msgstr ""
-#: groupmod.8.xml:307(para)
+#: groupmod.8.xml:332(para)
msgid "E_PAM_USERNAME: can't determine your username for use with pam"
msgstr ""
-#: groupmod.8.xml:311(replaceable)
+#: groupmod.8.xml:336(replaceable)
msgid "13"
msgstr "13"
-#: groupmod.8.xml:313(para)
+#: groupmod.8.xml:338(para)
msgid ""
"E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the "
"PAM error message"
msgstr ""
-#: groupmod.8.xml:253(para)
+#: groupmod.8.xml:278(para)
msgid ""
"The <command>groupmod</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>groupmod</command> 命令å¯ä»¥è¿”回如下值:<placeholder-1/>"
-#: groupmod.8.xml:322(para)
+#: groupmod.8.xml:347(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8138,7 +8361,7 @@ msgstr ""
msgid "The superuser can specify which group membership list to modify."
msgstr "超级用户å¯ä»¥æŒ‡å®šä¿®æ”¹å“ªä¸ªç»„的组æˆå‘˜åˆ—表。"
-#: groupmems.8.xml:148(term) chage.1.xml:160(term)
+#: groupmems.8.xml:148(term) chage.1.xml:170(term)
msgid "<option>-l</option>, <option>--list</option>"
msgstr "<option>-l</option>, <option>--list</option>"
@@ -8233,29 +8456,35 @@ msgstr ""
msgid "The options which apply to the <command>groupdel</command> command are:"
msgstr "<command>groupdel</command> 命令å¯ä»¥æŽ¥å—的选项有:"
-#: groupdel.8.xml:134(para)
+#: groupdel.8.xml:99(para)
+msgid ""
+"This option forces the removal of the group, even if there's some user "
+"having the group as the primary one."
+msgstr ""
+
+#: groupdel.8.xml:145(para)
msgid ""
"You may not remove the primary group of any existing user. You must remove "
"the user before you remove the group."
msgstr "您ä¸èƒ½ç§»é™¤çŽ°æœ‰ç”¨æˆ·çš„主组。在移除此组之å‰ï¼Œå¿…须先移除此用户。"
-#: groupdel.8.xml:138(para)
+#: groupdel.8.xml:149(para)
msgid ""
"You should manually check all file systems to ensure that no files remain "
"owned by this group."
msgstr "您需è¦æ‰‹åŠ¨æ£€æŸ¥æ‰€æœ‰æ–‡ä»¶ç³»ç»Ÿï¼Œä»¥ç¡®ä¿æ²¡æœ‰é—留的属于此组的文件。"
-#: groupdel.8.xml:200(para)
+#: groupdel.8.xml:211(para)
msgid "can't remove user's primary group"
msgstr "ä¸èƒ½ç§»é™¤ç”¨æˆ·çš„主组"
-#: groupdel.8.xml:176(para)
+#: groupdel.8.xml:187(para)
msgid ""
"The <command>groupdel</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>groupdel</command> 命令以如下值退出:<placeholder-1/>"
-#: groupdel.8.xml:215(para)
+#: groupdel.8.xml:226(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8381,7 +8610,7 @@ msgid ""
"<option>GID_MAX</option>."
msgstr ""
-#: groupadd.8.xml:275(para)
+#: groupadd.8.xml:291(para)
msgid ""
"Groupnames must start with a lower case letter or an underscore, followed by "
"lower case letters, digits, underscores, or dashes. They can end with a "
@@ -8390,37 +8619,41 @@ msgstr ""
"组å必须以å°å†™å­—æ¯æˆ–者下划线开头,跟éšå°å†™å­—æ¯ã€ä¸‹åˆ’线或短横线。å¯ä»¥ç”±ç¾Žå…ƒç¬¦"
"å·ç»“æŸã€‚用正则表达å¼å°±æ˜¯ï¼š[a-z_][a-z0-9_-]*[$]?"
-#: groupadd.8.xml:281(para)
+#: groupadd.8.xml:297(para)
msgid "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long."
msgstr "组å最长为 &GROUP_NAME_MAX_LENGTH; 个字符。"
-#: groupadd.8.xml:284(para)
+#: groupadd.8.xml:300(para)
msgid ""
"You may not add a NIS or LDAP group. This must be performed on the "
"corresponding server."
msgstr ""
-#: groupadd.8.xml:288(para)
+#: groupadd.8.xml:304(para)
msgid ""
"If the groupname already exists in an external group database such as NIS or "
"LDAP, <command>groupadd</command> will deny the group creation request."
msgstr ""
-#: groupadd.8.xml:321(para)
-msgid "GID not unique (when <option>-o</option> not used)"
-msgstr "GID ä¸å”¯ä¸€ (没有使用 <option>-o</option>)"
+#: groupadd.8.xml:337(para)
+#, fuzzy
+#| msgid "UID already in use (and no <option>-o</option>)"
+msgid "GID is already used (when called without <option>-o</option>)"
+msgstr "UID å·²ç»ä½¿ç”¨ (且没有 <option>-o</option>)"
-#: groupadd.8.xml:327(para)
-msgid "group name not unique"
-msgstr "组åä¸å”¯ä¸€"
+#: groupadd.8.xml:343(para)
+#, fuzzy
+#| msgid "group name already in use"
+msgid "group name is already used"
+msgstr "组åå·²ç»åœ¨ä½¿ç”¨"
-#: groupadd.8.xml:297(para)
+#: groupadd.8.xml:313(para)
msgid ""
"The <command>groupadd</command> command exits with the following values: "
"<placeholder-1/>"
msgstr "<command>groupadd</command> å¯èƒ½ä»¥å¦‚下值退出:<placeholder-1/>"
-#: groupadd.8.xml:342(para)
+#: groupadd.8.xml:358(para)
msgid ""
"<citerefentry><refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>chsh</"
@@ -8881,7 +9114,7 @@ msgstr ""
msgid "Force a password change if the current user has an expired password."
msgstr "如果用户密ç è¿‡æœŸï¼Œåˆ™å¼ºåˆ¶ç”¨æˆ·ä¿®æ”¹å¯†ç ã€‚"
-#: expiry.1.xml:140(para) chage.1.xml:318(para)
+#: expiry.1.xml:140(para) chage.1.xml:340(para)
msgid ""
"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum></"
"citerefentry>, <citerefentry><refentrytitle>shadow</"
@@ -8907,6 +9140,13 @@ msgstr ""
msgid "The options which apply to the <command>chsh</command> command are:"
msgstr "<command>chsh</command> 命令å¯ä»¥æŽ¥å—的选项有:"
+#: chsh.1.xml:123(para)
+msgid ""
+"The name of the user's new login shell. Setting this field to blank causes "
+"the system to select the default login shell."
+msgstr ""
+"用户的新登录 shell çš„å称。将此字段设置为空会让系统选择默认的登录 shell。"
+
#: chsh.1.xml:130(para)
msgid ""
"If the <option>-s</option> option is not selected, <command>chsh</command> "
@@ -9331,10 +9571,12 @@ msgstr ""
msgid ""
"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)."
+"format more commonly used in your area). If the <replaceable>LAST_DAY</"
+"replaceable> is set to <emphasis>0</emphasis> the user is forced to change "
+"his password on the next log on."
msgstr ""
-#: chage.1.xml:109(term)
+#: chage.1.xml:112(term)
msgid ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
@@ -9342,7 +9584,7 @@ msgstr ""
"<option>-E</option>, <option>--expiredate</option>&nbsp;"
"<replaceable>EXPIRE_DATE</replaceable>"
-#: chage.1.xml:113(para)
+#: chage.1.xml:116(para)
msgid ""
"Set the date or number of days since January 1, 1970 on which the user's "
"account will no longer be accessible. The date may also be expressed in the "
@@ -9351,7 +9593,21 @@ msgid ""
"able to use the system again."
msgstr ""
-#: chage.1.xml:121(para)
+#: chage.1.xml:124(para)
+msgid ""
+"For example the following can be used to set an account to expire in 180 "
+"days:"
+msgstr ""
+
+#: chage.1.xml:128(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"\t chage -E $(date -d +180days +%Y-%m-%d)\n"
+"\t "
+msgstr ""
+
+#: chage.1.xml:131(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>EXPIRE_DATE</replaceable> will remove an account expiration "
@@ -9360,17 +9616,17 @@ msgstr ""
"<replaceable>EXPIRE_DATE</replaceable> 设置为 <emphasis remap=\"I\">-1</"
"emphasis> 会移除账户的过期日期。"
-#: chage.1.xml:135(term)
+#: chage.1.xml:145(term)
#, fuzzy
#| msgid "<option>-s</option>, <option>--sort</option>"
msgid "<option>-i</option>, <option>--iso8601</option>"
msgstr "<option>-s</option>, <option>--sort</option>"
-#: chage.1.xml:137(para)
+#: chage.1.xml:147(para)
msgid "When printing dates, use YYYY-MM-DD format."
msgstr ""
-#: chage.1.xml:141(term)
+#: chage.1.xml:151(term)
msgid ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
@@ -9378,7 +9634,7 @@ msgstr ""
"<option>-I</option>, <option>--inactive</option>&nbsp;<replaceable>INACTIVE</"
"replaceable>"
-#: chage.1.xml:145(para)
+#: chage.1.xml:155(para)
msgid ""
"Set the number of days of inactivity after a password has expired before the "
"account is locked. The <replaceable>INACTIVE</replaceable> option is the "
@@ -9386,7 +9642,7 @@ msgid ""
"the system administrator before being able to use the system again."
msgstr ""
-#: chage.1.xml:152(para)
+#: chage.1.xml:162(para)
msgid ""
"Passing the number <emphasis remap=\"I\">-1</emphasis> as the "
"<replaceable>INACTIVE</replaceable> will remove an account's inactivity."
@@ -9394,11 +9650,11 @@ msgstr ""
"<replaceable>INACTIVE</replaceable> 设置为 <emphasis remap=\"I\">-1</"
"emphasis> 会移除账户ç¦ç”¨åŠŸèƒ½ã€‚"
-#: chage.1.xml:164(para)
+#: chage.1.xml:174(para)
msgid "Show account aging information."
-msgstr "现实账户年龄信æ¯ã€‚"
+msgstr "显示账户年龄信æ¯ã€‚"
-#: chage.1.xml:170(term)
+#: chage.1.xml:180(term)
msgid ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
@@ -9406,7 +9662,7 @@ msgstr ""
"<option>-m</option>, <option>--mindays</option>&nbsp;<replaceable>MIN_DAYS</"
"replaceable>"
-#: chage.1.xml:182(term)
+#: chage.1.xml:192(term)
msgid ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
@@ -9414,7 +9670,7 @@ msgstr ""
"<option>-M</option>, <option>--maxdays</option>&nbsp;<replaceable>MAX_DAYS</"
"replaceable>"
-#: chage.1.xml:186(para)
+#: chage.1.xml:196(para)
#, fuzzy
msgid ""
"Set the maximum number of days during which a password is valid. When "
@@ -9428,7 +9684,7 @@ msgstr ""
"<replaceable>LAST_DAY</replaceable> å°äºŽå½“å‰æ—¥æœŸæ—¶ï¼Œä¼šè¦æ±‚用户更改密ç ï¼Œå¦åˆ™"
"ä¸èƒ½ä½¿ç”¨æ­¤è´¦æˆ·ã€‚"
-#: chage.1.xml:215(term)
+#: chage.1.xml:225(term)
msgid ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
@@ -9436,7 +9692,7 @@ msgstr ""
"<option>-W</option>, <option>--warndays</option>&nbsp;"
"<replaceable>WARN_DAYS</replaceable>"
-#: chage.1.xml:219(para)
+#: chage.1.xml:229(para)
#, fuzzy
msgid ""
"Set the number of days of warning before a password change is required. The "
@@ -9446,7 +9702,7 @@ msgid ""
msgstr ""
"设置在è¦æ±‚更改密ç ä¹‹å‰å‡ å¤©å¼€å§‹è­¦å‘Šã€‚<replaceable>WARN_DAYS</replaceable> 选项"
-#: chage.1.xml:228(para)
+#: chage.1.xml:238(para)
msgid ""
"If none of the options are selected, <command>chage</command> operates in an "
"interactive fashion, prompting the user with the current values for all of "
@@ -9458,13 +9714,29 @@ msgstr ""
"å‰å€¼æ示用户。输入一个新值å¯ä»¥æ›´æ”¹è¿™äº›å­—段,或者留空使用当å‰å€¼ã€‚当å‰å€¼å‡ºçŽ°åœ¨ "
"<emphasis>[ ]</emphasis> 标记对里。"
-#: chage.1.xml:238(para)
+#: chage.1.xml:248(para)
msgid ""
"The <command>chage</command> program requires a shadow password file to be "
"available."
msgstr "<command>chage</command> 需è¦æœ‰ä¸€ä¸ªå½±å­å¯†ç æ–‡ä»¶æ‰å¯ç”¨ã€‚"
-#: chage.1.xml:242(para)
+#: chage.1.xml:252(para)
+msgid ""
+"The chage program will report only the information from the shadow password "
+"file. This implies that configuration from other sources (e.g. LDAP or empty "
+"password hash field from the passwd file) that affect the user's login will "
+"not be shown in the chage output."
+msgstr ""
+
+#: chage.1.xml:258(para)
+msgid ""
+"The <command>chage</command> program will also not report any inconsistency "
+"between the shadow and passwd files (e.g. missing x in the passwd file). The "
+"<command>pwck</command> can be used to check for this kind of "
+"inconsistencies."
+msgstr ""
+
+#: chage.1.xml:264(para)
msgid ""
"The <command>chage</command> command is restricted to the root user, except "
"for the <option>-l</option> option, which may be used by an unprivileged "
@@ -9473,15 +9745,15 @@ msgstr ""
"åªæœ‰ root æ‰å¯ä»¥ä½¿ç”¨ <command>chage</command>,一个特殊情况是 <option>-l</"
"option> 选项,用æ¥è®©éžç‰¹æƒç”¨æˆ·è§‰å¾—自己的密ç æˆ–账户何时过期。"
-#: chage.1.xml:307(replaceable)
+#: chage.1.xml:329(replaceable)
msgid "15"
msgstr "15"
-#: chage.1.xml:309(para)
+#: chage.1.xml:331(para)
msgid "can't find the shadow password file"
msgstr "无法找到影å­å¯†ç æ–‡ä»¶"
-#: chage.1.xml:285(para)
+#: chage.1.xml:307(para)
msgid ""
"The <command>chage</command> command exits with the following values: "
"<placeholder-1/>"
@@ -9492,6 +9764,9 @@ msgstr "<command>chage</command> 命令有如下退出值:<placeholder-1/>"
msgid "translator-credits"
msgstr "YunQiang Su <wzssyqa@gmail.com>, 2010."
+#~ msgid "Move the content of the user's home directory to the new location."
+#~ msgstr "将用户的主目录移动到新ä½ç½®ã€‚"
+
#~ msgid ""
#~ "Additional arguments may be provided after the username, in which case "
#~ "they are supplied to the user's login shell. In particular, an argument "
@@ -9538,6 +9813,20 @@ msgstr "YunQiang Su <wzssyqa@gmail.com>, 2010."
#~ "将会被视为加密过的密ç ï¼Œå¦‚ <citerefentry><refentrytitle>crypt</"
#~ "refentrytitle><manvolnum>3</manvolnum></citerefentry> 中的说明。"
+#~ msgid ""
+#~ "If this field does not specify an existing directory, the specified "
+#~ "directory is created, with ownership set to the user being created or "
+#~ "updated and its primary group."
+#~ msgstr ""
+#~ "如果此字段指定的ä¸æ˜¯çŽ°æœ‰çš„目录,将会创建指定的目录,所有æƒè®¾ç½®ä¸ºåˆ›å»ºæˆ–æ›´æ–°"
+#~ "的用户åŠå…¶ä¸»ç»„。"
+
+#~ msgid "GID not unique (when <option>-o</option> not used)"
+#~ msgstr "GID ä¸å”¯ä¸€ (没有使用 <option>-o</option>)"
+
+#~ msgid "group name not unique"
+#~ msgstr "组åä¸å”¯ä¸€"
+
#~ msgid "-M"
#~ msgstr "-M"
diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in
index d418e561..25406699 100644
--- a/man/pt_BR/Makefile.in
+++ b/man/pt_BR/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/pt_BR
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -338,8 +347,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -492,10 +501,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/pwck.8.xml b/man/pwck.8.xml
index bc99605f..a196a458 100644
--- a/man/pwck.8.xml
+++ b/man/pwck.8.xml
@@ -30,6 +30,7 @@
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY NONEXISTENT SYSTEM "login.defs.d/NONEXISTENT.xml">
<!ENTITY PASS_MAX_DAYS SYSTEM "login.defs.d/PASS_MAX_DAYS.xml">
<!ENTITY PASS_MIN_DAYS SYSTEM "login.defs.d/PASS_MIN_DAYS.xml">
<!ENTITY PASS_WARN_AGE SYSTEM "login.defs.d/PASS_WARN_AGE.xml">
@@ -266,6 +267,7 @@
tool:
</para>
<variablelist>
+ &NONEXISTENT;
&PASS_MAX_DAYS;
&PASS_MIN_DAYS;
&PASS_WARN_AGE;
diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in
index e92688f6..0231a0f2 100644
--- a/man/ru/Makefile.in
+++ b/man/ru/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/ru
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -362,8 +371,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -560,10 +569,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/ru/man1/chage.1 b/man/ru/man1/chage.1
index 9f197f02..a5c7ef4f 100644
--- a/man/ru/man1/chage.1
+++ b/man/ru/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "chage" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "chage" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-УÑтановить чиÑло дней прошедших Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года, когда была поÑледнÑÑ Ñмена паролÑ\&. Дата может быть также указана в виде ГГГГ\-ММ\-ДД (или в форме ÑоглаÑно региональным наÑтройкам)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
УÑтановить дату уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи пользователÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð·Ð°Ð´Ð°Ñ‘Ñ‚ÑÑ Ñ‡Ð¸Ñлом дней прошедших Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года\&. Дата может быть также задана в виде ГГГГ\-ММ\-ДД (или в форме ÑоглаÑно региональным наÑтройкам)\&. Пользователь, Ñ‡ÑŒÑ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была заблокирована, должен обратитьÑÑ Ðº ÑиÑтемному админиÑтратору, еÑли хочет в дальнейшем работать Ñ ÑиÑтемой\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/ru/man1/chfn.1 b/man/ru/man1/chfn.1
index 2b9e5c3c..5b28fa34 100644
--- a/man/ru/man1/chfn.1
+++ b/man/ru/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "chfn" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "chfn" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/chsh.1 b/man/ru/man1/chsh.1
index e4392fc2..6c2c5811 100644
--- a/man/ru/man1/chsh.1
+++ b/man/ru/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "chsh" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "chsh" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/expiry.1 b/man/ru/man1/expiry.1
index a977416e..70e6dc0c 100644
--- a/man/ru/man1/expiry.1
+++ b/man/ru/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "expiry" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "expiry" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/gpasswd.1 b/man/ru/man1/gpasswd.1
index ea1862e5..f6d7fa88 100644
--- a/man/ru/man1/gpasswd.1
+++ b/man/ru/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "gpasswd" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "gpasswd" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,7 +147,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man1/groups.1 b/man/ru/man1/groups.1
index 1258a50b..8165b959 100644
--- a/man/ru/man1/groups.1
+++ b/man/ru/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "groups" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "groups" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/id.1 b/man/ru/man1/id.1
index fbcb6ed0..2ab7e576 100644
--- a/man/ru/man1/id.1
+++ b/man/ru/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "id" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "id" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/login.1 b/man/ru/man1/login.1
index 5da064a3..039db6d0 100644
--- a/man/ru/man1/login.1
+++ b/man/ru/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "login" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "login" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/newgrp.1 b/man/ru/man1/newgrp.1
index e006ab3a..e5239ec1 100644
--- a/man/ru/man1/newgrp.1
+++ b/man/ru/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "newgrp" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "newgrp" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/passwd.1 b/man/ru/man1/passwd.1
index 749cd610..dbfe4cdb 100644
--- a/man/ru/man1/passwd.1
+++ b/man/ru/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "passwd" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "passwd" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man1/sg.1 b/man/ru/man1/sg.1
index b2cbbe98..98a5f3f4 100644
--- a/man/ru/man1/sg.1
+++ b/man/ru/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "sg" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "sg" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man1/su.1 b/man/ru/man1/su.1
index 81552a88..c245f6f3 100644
--- a/man/ru/man1/su.1
+++ b/man/ru/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: ПользовательÑкие команды
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "su" "1" "01/23/2020" "shadow\-utils 4\&.8\&.1" "ПользовательÑкие команды"
+.TH "su" "1" "07/22/2021" "shadow\-utils 4\&.9" "ПользовательÑкие команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man3/shadow.3 b/man/ru/man3/shadow.3
index d9d9ad3e..da13f119 100644
--- a/man/ru/man3/shadow.3
+++ b/man/ru/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Библиотечные функции
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "shadow" "3" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Библиотечные функции"
+.TH "shadow" "3" "07/22/2021" "shadow\-utils 4\&.9" "Библиотечные функции"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/faillog.5 b/man/ru/man5/faillog.5
index 88d25456..b6466dd2 100644
--- a/man/ru/man5/faillog.5
+++ b/man/ru/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "faillog" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "faillog" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/gshadow.5 b/man/ru/man5/gshadow.5
index d3d6bcec..c1cbe296 100644
--- a/man/ru/man5/gshadow.5
+++ b/man/ru/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "gshadow" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "gshadow" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/limits.5 b/man/ru/man5/limits.5
index 022f8504..f1a9c672 100644
--- a/man/ru/man5/limits.5
+++ b/man/ru/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "limits" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "limits" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/login.access.5 b/man/ru/man5/login.access.5
index ae30f92d..c4a9fdd1 100644
--- a/man/ru/man5/login.access.5
+++ b/man/ru/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "login\&.access" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "login\&.access" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/login.defs.5 b/man/ru/man5/login.defs.5
index 1439d5ab..e2a85af3 100644
--- a/man/ru/man5/login.defs.5
+++ b/man/ru/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "login\&.defs" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "login\&.defs" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ If set to
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -372,6 +383,11 @@ This variable is deprecated\&. You should use
ЕÑли определена, значение равно имени файла, чьё ÑущеÑтвование запретит вход Ð´Ð»Ñ Ð½Ðµ Ñуперпользователей\&. Ð’ файле должно ÑодержатьÑÑ Ñообщение, опиÑывающее почему запрещён вход\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
Включает дополнительные проверки при Ñмене паролÑ\&.
@@ -394,7 +410,7 @@ This variable is deprecated\&. You should use
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-МакÑимальное чиÑло дней между изменениÑми паролÑ\&. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ заданного Ñрока выполнена не будет\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -442,7 +458,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man5/passwd.5 b/man/ru/man5/passwd.5
index 54bead1e..37f62a9b 100644
--- a/man/ru/man5/passwd.5
+++ b/man/ru/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "passwd" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "passwd" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/ru/man5/porttime.5 b/man/ru/man5/porttime.5
index 6396ca94..b7bad0e0 100644
--- a/man/ru/man5/porttime.5
+++ b/man/ru/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "porttime" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "porttime" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man5/shadow.5 b/man/ru/man5/shadow.5
index 851094e6..363dbf3c 100644
--- a/man/ru/man5/shadow.5
+++ b/man/ru/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "shadow" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "shadow" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fBдата поÑледней Ñмены паролÑ\fR
.RS 4
-Дата поÑледней Ñмены Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² днÑÑ… Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года\&.
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&.
.sp
@@ -72,7 +72,7 @@ The value 0 has a special meaning, which is that the user should change her pass
.RS 4
Минимальный Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² днÑÑ…, которые пользователь должен ждать, чтобы поменÑÑ‚ÑŒ пароль\&.
.sp
-ПуÑтое значение Ð¿Ð¾Ð»Ñ Ð¸ 0 отключают минимальный Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ\&.
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fBмакÑимальный Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ\fR
@@ -97,14 +97,14 @@ The value 0 has a special meaning, which is that the user should change her pass
.RS 4
КоличеÑтво дней поÑле уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ (Ñмотрите макÑимальный Ñрок дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ) во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… пароль вÑÑ‘ ещё принимаетÑÑ (и пользователь должен обновить Ñвой пароль при Ñледующем входе)\&.
.sp
-ПоÑле уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸ иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтого периода уÑÑ‚Ð°Ñ€ÐµÐ²Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´ Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ паролем ÑтановитÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ð¼\&. Пользователь должен обратитьÑÑ Ðº админиÑтратору\&.
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
ПуÑтое значение Ð¿Ð¾Ð»Ñ Ð¾Ð·Ð½Ð°Ñ‡Ð°ÐµÑ‚, что период неактивноÑти отÑутÑтвует\&.
.RE
.PP
\fBдата иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи\fR
.RS 4
-Дата иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи, указываетÑÑ Ð² днÑÑ… Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1 ÑÐ½Ð²Ð°Ñ€Ñ 1970 года\&.
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&.
.sp
diff --git a/man/ru/man5/suauth.5 b/man/ru/man5/suauth.5
index c4b59ba9..d33d6963 100644
--- a/man/ru/man5/suauth.5
+++ b/man/ru/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Форматы файлов
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "suauth" "5" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Форматы файлов"
+.TH "suauth" "5" "07/22/2021" "shadow\-utils 4\&.9" "Форматы файлов"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/chgpasswd.8 b/man/ru/man8/chgpasswd.8
index 120042bf..9582e7d8 100644
--- a/man/ru/man8/chgpasswd.8
+++ b/man/ru/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "chgpasswd" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "chgpasswd" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -121,7 +121,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man8/chpasswd.8 b/man/ru/man8/chpasswd.8
index 4207b6af..2c663879 100644
--- a/man/ru/man8/chpasswd.8
+++ b/man/ru/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "chpasswd" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "chpasswd" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -139,7 +139,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man8/faillog.8 b/man/ru/man8/faillog.8
index 78f029f8..4b0f352b 100644
--- a/man/ru/man8/faillog.8
+++ b/man/ru/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "faillog" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "faillog" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/groupadd.8 b/man/ru/man8/groupadd.8
index d10ec2b2..6ae2cc31 100644
--- a/man/ru/man8/groupadd.8
+++ b/man/ru/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "groupadd" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "groupadd" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "ÐÐСТРОЙКÐ"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/ru/man8/groupdel.8 b/man/ru/man8/groupdel.8
index a0cf6978..39d9e518 100644
--- a/man/ru/man8/groupdel.8
+++ b/man/ru/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "groupdel" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "groupdel" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Показать краткую Ñправку и закончить работу\&.
diff --git a/man/ru/man8/groupmems.8 b/man/ru/man8/groupmems.8
index 2b1d2999..6aa693a6 100644
--- a/man/ru/man8/groupmems.8
+++ b/man/ru/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "groupmems" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "groupmems" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/groupmod.8 b/man/ru/man8/groupmod.8
index 5527a8e5..1f38e8ad 100644
--- a/man/ru/man8/groupmod.8
+++ b/man/ru/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "groupmod" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "groupmod" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "ÐÐСТРОЙКÐ"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/ru/man8/grpck.8 b/man/ru/man8/grpck.8
index eaec6fa2..d7280350 100644
--- a/man/ru/man8/grpck.8
+++ b/man/ru/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "grpck" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "grpck" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/ru/man8/lastlog.8 b/man/ru/man8/lastlog.8
index 01a5b205..4eb5380a 100644
--- a/man/ru/man8/lastlog.8
+++ b/man/ru/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "lastlog" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "lastlog" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -135,3 +135,7 @@ option present in the configuration means that there is no user ID limit for wri
.SH "ПРЕДОСТЕРЕЖЕÐИЯ"
.PP
Большие промежутки в значениÑÑ… идентификаторов пользователей приводÑÑ‚ к тому, что программа некоторое Ð²Ñ€ÐµÐ¼Ñ Ð½Ð¸Ñ‡ÐµÐ³Ð¾ не выводит на Ñкран (то еÑÑ‚ÑŒ, еÑли в базе данных lastlog нет пользователей Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ Ñ 170 по 800, то во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ UID Ñ 171 по 799 программа кажетÑÑ Ð¿Ð¾Ð²Ð¸Ñшей)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/ru/man8/logoutd.8 b/man/ru/man8/logoutd.8
index 1a97a369..7f878ac9 100644
--- a/man/ru/man8/logoutd.8
+++ b/man/ru/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "logoutd" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "logoutd" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/newusers.8 b/man/ru/man8/newusers.8
index dd146ed4..1aa08202 100644
--- a/man/ru/man8/newusers.8
+++ b/man/ru/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "newusers" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "newusers" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ to be used as the primary group ID for the user and GID for the new group\&.
.RS 4
Это поле иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ³Ð¾ каталога пользователÑ\&.
.sp
-ЕÑли Ñто поле указывает на неÑущеÑтвующий каталог, то указанный каталог ÑоздаётÑÑ, его владельцем назначаетÑÑ Ñоздаваемый или обновлÑемый пользователь и его Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°\&.
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -193,7 +195,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ This variable is deprecated\&. You should use
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-МакÑимальное чиÑло дней между изменениÑми паролÑ\&. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ заданного Ñрока выполнена не будет\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
Увеличение количеÑтва раундов повышает ÑложноÑÑ‚ÑŒ подбора Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ñтым перебором\&. Ðо заметим, что при Ñтом Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователей требуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµÐµ количеÑтво процеÑÑорных реÑурÑов\&.
.sp
-ЕÑли не задана, то libc выбирает значение количеÑтва раундов по умолчанию (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ лежать в диапазоне 1000\-999999999\&.
.sp
diff --git a/man/ru/man8/nologin.8 b/man/ru/man8/nologin.8
index 61c6b07f..6149a83c 100644
--- a/man/ru/man8/nologin.8
+++ b/man/ru/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "nologin" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "nologin" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/pwck.8 b/man/ru/man8/pwck.8
index f692d39d..cdb90118 100644
--- a/man/ru/man8/pwck.8
+++ b/man/ru/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "pwck" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "pwck" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
МакÑимальное чиÑло дней иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ\&. ЕÑли пароль Ñтарее Ñтого чиÑла, то будет запущена процедура Ñмены паролÑ\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
@@ -256,7 +261,7 @@ change the behavior of this tool:
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-МакÑимальное чиÑло дней между изменениÑми паролÑ\&. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ заданного Ñрока выполнена не будет\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/ru/man8/pwconv.8 b/man/ru/man8/pwconv.8
index 714fc1ec..b24bc9c0 100644
--- a/man/ru/man8/pwconv.8
+++ b/man/ru/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "pwconv" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "pwconv" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -173,7 +173,7 @@ change the behavior of
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-МакÑимальное чиÑло дней между изменениÑми паролÑ\&. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ заданного Ñрока выполнена не будет\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/ru/man8/sulogin.8 b/man/ru/man8/sulogin.8
index a2db1b39..97df820d 100644
--- a/man/ru/man8/sulogin.8
+++ b/man/ru/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "sulogin" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "sulogin" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/ru/man8/useradd.8 b/man/ru/man8/useradd.8
index f3df76a1..b7727de6 100644
--- a/man/ru/man8/useradd.8
+++ b/man/ru/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "useradd" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "useradd" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -539,7 +543,7 @@ Maximum members per group entry\&. When the maximum is reached, a new group entr
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-МакÑимальное чиÑло дней между изменениÑми паролÑ\&. Ð›ÑŽÐ±Ð°Ñ Ñмена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ñ€Ð°Ð½ÐµÐµ заданного Ñрока выполнена не будет\&. ЕÑли значение не задано, то предполагаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ \-1 (то еÑÑ‚ÑŒ возможноÑÑ‚ÑŒ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑпользуетÑÑ)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ will create by default a group with the name of the user\&.
Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ñоздаваемой учётной запиÑи
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
каталог, Ñодержащий файлы по умолчанию
diff --git a/man/ru/man8/userdel.8 b/man/ru/man8/userdel.8
index 82e8619a..36eb64b9 100644
--- a/man/ru/man8/userdel.8
+++ b/man/ru/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "userdel" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "userdel" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ will create by default a group with the name of the user\&.
Ñодержит защищаемую информацию о пользователÑÑ…
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/ru/man8/usermod.8 b/man/ru/man8/usermod.8
index 291b69ab..3d625deb 100644
--- a/man/ru/man8/usermod.8
+++ b/man/ru/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "usermod" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "usermod" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ utility\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ entry will be created if there were none\&.
Ð’Ñе файлы в домашнем каталоге пользователÑ, принадлежавшие предыдущей первичной группе пользователÑ, будут принадлежать новой группе\&.
.sp
Группового владельца файлов вне домашнего каталога нужно изменить вручную\&.
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-ПеремеÑтить Ñодержимое домашнего каталога в новое меÑто\&.
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-Ð˜Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð¹ региÑтрационной оболочки пользователÑ\&. ЕÑли задать пуÑтое значение, то будет иÑпользована региÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° по умолчанию\&.
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ option is used\&. The value must be non\-negative\&.
.sp
Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², раÑположенных вне домашнего каталога, идентификатор нужно изменÑÑ‚ÑŒ вручную\&.
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
diff --git a/man/ru/man8/vipw.8 b/man/ru/man8/vipw.8
index bd8ab4d5..2c650219 100644
--- a/man/ru/man8/vipw.8
+++ b/man/ru/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/23/2020
+.\" Date: 07/22/2021
.\" Manual: Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Russian
.\"
-.TH "vipw" "8" "01/23/2020" "shadow\-utils 4\&.8\&.1" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
+.TH "vipw" "8" "07/22/2021" "shadow\-utils 4\&.9" "Команды ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑтемой"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/shadow.5.xml b/man/shadow.5.xml
index 79ae27a3..70cea3e1 100644
--- a/man/shadow.5.xml
+++ b/man/shadow.5.xml
@@ -129,7 +129,7 @@
<listitem>
<para>
The date of the last password change, expressed as the number
- of days since Jan 1, 1970.
+ of days since Jan 1, 1970 00:00 UTC.
</para>
<para>
The value 0 has a special meaning, which is that the user
@@ -151,7 +151,7 @@
again.
</para>
<para>
- An empty field and value 0 mean that there are no minimum
+ An empty field and value 0 mean that there is no minimum
password age.
</para>
</listitem>
@@ -208,8 +208,8 @@
</para>
<para>
After expiration of the password and this expiration period is
- elapsed, no login is possible using the current user's
- password. The user should contact her administrator.
+ elapsed, no login is possible for the user. The user should contact
+ her administrator.
</para>
<para>
An empty field means that there are no enforcement of an
@@ -224,7 +224,7 @@
<listitem>
<para>
The date of expiration of the account, expressed as the number
- of days since Jan 1, 1970.
+ of days since Jan 1, 1970 00:00 UTC.
</para>
<para>
Note that an account expiration differs from a password
diff --git a/man/subgid.5.xml b/man/subgid.5.xml
index 70c561c4..02f421ab 100644
--- a/man/subgid.5.xml
+++ b/man/subgid.5.xml
@@ -38,6 +38,11 @@
<surname>Biederman</surname>
<contrib>Creation, 2013</contrib>
</author>
+ <author>
+ <firstname>Iker</firstname>
+ <surname>Pedrosa</surname>
+ <contrib>Developer, 2021</contrib>
+ </author>
</refentryinfo>
<refmeta>
<refentrytitle>subgid</refentrytitle>
@@ -48,12 +53,37 @@
</refmeta>
<refnamediv id='name'>
<refname>subgid</refname>
- <refpurpose>the subordinate gid file</refpurpose>
+ <refpurpose>the configuration for subordinate group ids</refpurpose>
</refnamediv>
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
+ Subgid authorizes a group id to map ranges of group ids from its namespace
+ into child namespaces.
+ </para>
+ <para>
+ The delegation of the subordinate gids can be configured via the
+ <replaceable>subid</replaceable> field in
+ <filename>/etc/nsswitch.conf</filename> file. Only one value can be set
+ as the delegation source. Setting this field to
+ <replaceable>files</replaceable> configures the delegation of gids to
+ <filename>/etc/subgid</filename>. Setting any other value treats
+ the delegation as a plugin following with a name of the form
+ <replaceable>libsubid_$value.so</replaceable>. If the value or plugin is
+ missing, then the subordinate gid delegation falls back to
+ <replaceable>files</replaceable>.
+ </para>
+ <para>
+ Note, that <command>groupadd</command> will only create entries in
+ <filename>/etc/subgid</filename> if subid delegation is managed via subid
+ files.
+ </para>
+ </refsect1>
+
+ <refsect1 id='local-subordinate-delegation'>
+ <title>LOCAL SUBORDINATE DELEGATION</title>
+ <para>
Each line in <filename>/etc/subgid</filename> contains
a user name and a range of subordinate group ids that user
is allowed to use.
diff --git a/man/subuid.5.xml b/man/subuid.5.xml
index ec6a85f5..990d162e 100644
--- a/man/subuid.5.xml
+++ b/man/subuid.5.xml
@@ -38,6 +38,11 @@
<surname>Biederman</surname>
<contrib>Creation, 2013</contrib>
</author>
+ <author>
+ <firstname>Iker</firstname>
+ <surname>Pedrosa</surname>
+ <contrib>Developer, 2021</contrib>
+ </author>
</refentryinfo>
<refmeta>
<refentrytitle>subuid</refentrytitle>
@@ -48,12 +53,37 @@
</refmeta>
<refnamediv id='name'>
<refname>subuid</refname>
- <refpurpose>the subordinate uid file</refpurpose>
+ <refpurpose>the configuration for subordinate user ids</refpurpose>
</refnamediv>
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
+ Subuid authorizes a user id to map ranges of user ids from its namespace
+ into child namespaces.
+ </para>
+ <para>
+ The delegation of the subordinate uids can be configured via the
+ <replaceable>subid</replaceable> field in
+ <filename>/etc/nsswitch.conf</filename> file. Only one value can be set
+ as the delegation source. Setting this field to
+ <replaceable>files</replaceable> configures the delegation of uids to
+ <filename>/etc/subuid</filename>. Setting any other value treats
+ the delegation as a plugin following with a name of the form
+ <replaceable>libsubid_$value.so</replaceable>. If the value or plugin is
+ missing, then the subordinate uid delegation falls back to
+ <replaceable>files</replaceable>.
+ </para>
+ <para>
+ Note, that <command>useradd</command> will only create entries in
+ <filename>/etc/subuid</filename> if subid delegation is managed via subid
+ files.
+ </para>
+ </refsect1>
+
+ <refsect1 id='local-subordinate-delegation'>
+ <title>LOCAL SUBORDINATE DELEGATION</title>
+ <para>
Each line in <filename>/etc/subuid</filename> contains
a user name and a range of subordinate user ids that user
is allowed to use.
diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in
index f6f71472..f18a688e 100644
--- a/man/sv/Makefile.in
+++ b/man/sv/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/sv
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -359,8 +368,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -557,10 +566,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/sv/man1/chage.1 b/man/sv/man1/chage.1
index 804e4747..a1b0d242 100644
--- a/man/sv/man1/chage.1
+++ b/man/sv/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "CHAGE" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "CHAGE" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-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)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. 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\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/sv/man1/chsh.1 b/man/sv/man1/chsh.1
index c07419bd..78631e17 100644
--- a/man/sv/man1/chsh.1
+++ b/man/sv/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "CHSH" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "CHSH" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man1/expiry.1 b/man/sv/man1/expiry.1
index b1290f4c..1794c44a 100644
--- a/man/sv/man1/expiry.1
+++ b/man/sv/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "EXPIRY" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "EXPIRY" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man1/groups.1 b/man/sv/man1/groups.1
index b03759b3..8f607b03 100644
--- a/man/sv/man1/groups.1
+++ b/man/sv/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GROUPS" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "GROUPS" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man1/id.1 b/man/sv/man1/id.1
index fa1c8f8e..68b5256d 100644
--- a/man/sv/man1/id.1
+++ b/man/sv/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "ID" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "ID" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man1/newgrp.1 b/man/sv/man1/newgrp.1
index b77c5f6b..601d458c 100644
--- a/man/sv/man1/newgrp.1
+++ b/man/sv/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "NEWGRP" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "NEWGRP" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man1/passwd.1 b/man/sv/man1/passwd.1
index 8203402a..0dbf2994 100644
--- a/man/sv/man1/passwd.1
+++ b/man/sv/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "PASSWD" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "PASSWD" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -223,7 +223,9 @@ This defines the system default encryption algorithm for encrypting passwords (i
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&.
.sp
-If not specified, the libc will choose the default number of rounds (5000)\&.
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
The values must be inside the 1000\-999,999,999 range\&.
.sp
diff --git a/man/sv/man1/sg.1 b/man/sv/man1/sg.1
index 08111ec4..92a5351e 100644
--- a/man/sv/man1/sg.1
+++ b/man/sv/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Anv\(:andarkommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "SG" "1" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Anv\(:andarkommandon"
+.TH "SG" "1" "22-07-2021" "shadow\-utils 4\&.9" "Anv\(:andarkommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man3/shadow.3 b/man/sv/man3/shadow.3
index d16ede65..a1bcf53b 100644
--- a/man/sv/man3/shadow.3
+++ b/man/sv/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Biblioteksanrop
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "SHADOW" "3" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Biblioteksanrop"
+.TH "SHADOW" "3" "22-07-2021" "shadow\-utils 4\&.9" "Biblioteksanrop"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man5/faillog.5 b/man/sv/man5/faillog.5
index ab992827..553966ac 100644
--- a/man/sv/man5/faillog.5
+++ b/man/sv/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "FAILLOG" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "FAILLOG" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man5/gshadow.5 b/man/sv/man5/gshadow.5
index 9cc1d3ec..f669e110 100644
--- a/man/sv/man5/gshadow.5
+++ b/man/sv/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GSHADOW" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "GSHADOW" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man5/limits.5 b/man/sv/man5/limits.5
index ac1e3863..fe219c12 100644
--- a/man/sv/man5/limits.5
+++ b/man/sv/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "LIMITS" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "LIMITS" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man5/passwd.5 b/man/sv/man5/passwd.5
index 18efaab8..593db77b 100644
--- a/man/sv/man5/passwd.5
+++ b/man/sv/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "PASSWD" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "PASSWD" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/sv/man5/porttime.5 b/man/sv/man5/porttime.5
index c3a42f13..74565342 100644
--- a/man/sv/man5/porttime.5
+++ b/man/sv/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "PORTTIME" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "PORTTIME" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man5/suauth.5 b/man/sv/man5/suauth.5
index e6e630b9..7debc029 100644
--- a/man/sv/man5/suauth.5
+++ b/man/sv/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Filformat och konversioner
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "SUAUTH" "5" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Filformat och konversioner"
+.TH "SUAUTH" "5" "22-07-2021" "shadow\-utils 4\&.9" "Filformat och konversioner"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man8/faillog.8 b/man/sv/man8/faillog.8
index 5316ebd0..52bfb5c8 100644
--- a/man/sv/man8/faillog.8
+++ b/man/sv/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "FAILLOG" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "FAILLOG" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man8/groupadd.8 b/man/sv/man8/groupadd.8
index cafd8e33..819269e9 100644
--- a/man/sv/man8/groupadd.8
+++ b/man/sv/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GROUPADD" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "GROUPADD" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/sv/man8/groupdel.8 b/man/sv/man8/groupdel.8
index 5cc5b3a5..9292f1e4 100644
--- a/man/sv/man8/groupdel.8
+++ b/man/sv/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GROUPDEL" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "GROUPDEL" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,6 +44,11 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Visa hj\(:alpmeddelande och avsluta\&.
diff --git a/man/sv/man8/groupmems.8 b/man/sv/man8/groupmems.8
index c3b50a9e..fca24063 100644
--- a/man/sv/man8/groupmems.8
+++ b/man/sv/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GROUPMEMS" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "GROUPMEMS" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man8/groupmod.8 b/man/sv/man8/groupmod.8
index 8a0e670e..f3022832 100644
--- a/man/sv/man8/groupmod.8
+++ b/man/sv/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GROUPMOD" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "GROUPMOD" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "CONFIGURATION"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/sv/man8/grpck.8 b/man/sv/man8/grpck.8
index c139a1af..4d9c9139 100644
--- a/man/sv/man8/grpck.8
+++ b/man/sv/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "GRPCK" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "GRPCK" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/sv/man8/lastlog.8 b/man/sv/man8/lastlog.8
index b7ecc2ba..07f9c2fa 100644
--- a/man/sv/man8/lastlog.8
+++ b/man/sv/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "LASTLOG" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "LASTLOG" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -135,3 +135,7 @@ Databastider f\(:or tidigare anv\(:andarinloggningar\&.
.SH "T\(:ANK P\(oA"
.PP
Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/sv/man8/logoutd.8 b/man/sv/man8/logoutd.8
index cec10d1b..d99fbb74 100644
--- a/man/sv/man8/logoutd.8
+++ b/man/sv/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "LOGOUTD" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "LOGOUTD" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man8/nologin.8 b/man/sv/man8/nologin.8
index bec08cb2..909c34b8 100644
--- a/man/sv/man8/nologin.8
+++ b/man/sv/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "NOLOGIN" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "NOLOGIN" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/sv/man8/pwck.8 b/man/sv/man8/pwck.8
index 7f99af75..0b78a3a9 100644
--- a/man/sv/man8/pwck.8
+++ b/man/sv/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "PWCK" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "PWCK" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
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)\&.
@@ -256,7 +261,7 @@ The maximum number of days a password may be used\&. If the password is older th
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-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)\&.
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/sv/man8/userdel.8 b/man/sv/man8/userdel.8
index 822320ba..8e342c02 100644
--- a/man/sv/man8/userdel.8
+++ b/man/sv/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "USERDEL" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "USERDEL" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -221,6 +221,21 @@ Anv\(:andarkontoinformation\&.
S\(:aker anv\(:andarkontoinformation\&.
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/sv/man8/vipw.8 b/man/sv/man8/vipw.8
index 5adbd8f7..ecc4ae3f 100644
--- a/man/sv/man8/vipw.8
+++ b/man/sv/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 23-01-2020
+.\" Date: 22-07-2021
.\" Manual: Systemhanteringskommandon
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Swedish
.\"
-.TH "VIPW" "8" "23-01-2020" "shadow\-utils 4\&.8\&.1" "Systemhanteringskommandon"
+.TH "VIPW" "8" "22-07-2021" "shadow\-utils 4\&.9" "Systemhanteringskommandon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/tr/Makefile.in b/man/tr/Makefile.in
index 7321155c..358c3e6c 100644
--- a/man/tr/Makefile.in
+++ b/man/tr/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/tr
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -345,8 +354,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -499,10 +508,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
index 03612ce8..85d83560 100644
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
@@ -181,8 +181,10 @@
login directory. The default is to append the
<replaceable>LOGIN</replaceable> name to
<replaceable>BASE_DIR</replaceable> and use that as the login
- directory name. The directory <replaceable>HOME_DIR</replaceable>
- does not have to exist but will not be created if it is missing.
+ directory name. If the directory
+ <replaceable>HOME_DIR</replaceable> does not exist, then it
+ will be created unless the <option>-M</option> option is
+ specified.
</para>
</listitem>
</varlistentry>
@@ -359,6 +361,11 @@
<option>CREATE_HOME</option> is not enabled, no home
directories are created.
</para>
+ <para>
+ The directory where the user's home directory is created must
+ exist and have proper SELinux context and permissions. Otherwise
+ the user's home directory cannot be created or accessed.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -736,6 +743,12 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><filename>/etc/shadow-maint/useradd-pre.d/*</filename>, <filename>/etc/shadow-maint/useradd-post.d/*</filename></term>
+ <listitem>
+ <para>Run-part files to execute during user addition. The environment variable <command>ACTION</command> will be populated with useradd and <command>SUBJECT</command> with the <command>username</command>. <filename>useradd-pre.d</filename> will be executed prior to any user addition. <filename>useradd-post.d</filename> will execute after user addition. If a script exits non-zero then execution will terminate.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><filename>/etc/skel/</filename></term>
<listitem>
<para>Directory containing default files.</para>
diff --git a/man/userdel.8.xml b/man/userdel.8.xml
index b086383b..520a60b4 100644
--- a/man/userdel.8.xml
+++ b/man/userdel.8.xml
@@ -228,6 +228,12 @@
<para>Secure user account information.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><filename>/etc/shadow-maint/userdel-pre.d/*</filename>, <filename>/etc/shadow-maint/userdel-post.d/*</filename></term>
+ <listitem>
+ <para>Run-part files to execute during user deletion. The environment variable <command>ACTION</command> will be populated with <command>userdel</command> and <command>SUBJECT</command> with the username. <filename>userdel-pre.d</filename> will be executed prior to any user deletion. <filename>userdel-post.d</filename> will execute after user deletion. If a script exits non-zero then execution will terminate.</para>
+ </listitem>
+ </varlistentry>
<varlistentry condition="subids">
<term><filename>/etc/subgid</filename></term>
<listitem>
diff --git a/man/usermod.8.xml b/man/usermod.8.xml
index a1d0efd8..79f1a5b8 100644
--- a/man/usermod.8.xml
+++ b/man/usermod.8.xml
@@ -143,7 +143,8 @@
If the <option>-m</option>
option is given, the contents of the current home directory will
be moved to the new home directory, which is created if it does
- not already exist.
+ not already exist. If the current home directory does not exist
+ the new home directory will not be created.
</para>
</listitem>
</varlistentry>
@@ -205,6 +206,12 @@
The group ownership of files outside of the user's home directory
must be fixed manually.
</para>
+ <para>
+ The change of the group ownership of files inside of the user's
+ home directory is also not done if the home dir owner uid is
+ different from the current or new user id. This is a safety measure
+ for special home directories such as <filename>/</filename>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -267,7 +274,8 @@
<listitem>
<para>
Move the content of the user's home directory to the new
- location.
+ location. If the current home directory does not exist
+ the new home directory will not be created.
</para>
<para>
This option is only valid in combination with the
@@ -353,7 +361,7 @@
</term>
<listitem>
<para>
- The name of the user's new login shell. Setting this field to
+ The path of the user's new login shell. Setting this field to
blank causes the system to select the default login shell.
</para>
</listitem>
@@ -381,6 +389,12 @@
must be fixed manually.
</para>
<para>
+ The change of the user ownership of files inside of the user's
+ home directory is also not done if the home dir owner uid is
+ different from the current or new user id. This is a safety measure
+ for special home directories such as <filename>/</filename>.
+ </para>
+ <para>
No checks will be performed with regard to the
<option>UID_MIN</option>, <option>UID_MAX</option>,
<option>SYS_UID_MIN</option>, or <option>SYS_UID_MAX</option>
diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in
index 432a5931..655fed57 100644
--- a/man/zh_CN/Makefile.in
+++ b/man/zh_CN/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,14 @@ host_triplet = @host@
@USE_PAM_TRUE@am__append_2 = $(man_nopam)
subdir = man/zh_CN
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -184,7 +190,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -213,9 +218,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -253,7 +263,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -362,8 +371,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty):
@@ -560,10 +569,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/man/zh_CN/man1/chage.1 b/man/zh_CN/man1/chage.1
index 0eae23d3..1f02ba8b 100644
--- a/man/zh_CN/man1/chage.1
+++ b/man/zh_CN/man1/chage.1
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "CHAGE" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "CHAGE" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,13 +45,30 @@ command are:
.PP
\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR
.RS 4
-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)\&.
+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)\&. If the
+\fILAST_DAY\fR
+is set to
+\fI0\fR
+the user is forced to change his password on the next log on\&.
.RE
.PP
\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
.RS 4
Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. 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\&.
.sp
+For example the following can be used to set an account to expire in 180 days:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ chage \-E $(date \-d +180days +%Y\-%m\-%d)
+
+.fi
+.if n \{\
+.RE
+.\}
+.sp
Passing the number
\fI\-1\fR
as the
@@ -61,7 +78,7 @@ will remove an account expiration date\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-i\fR, \fB\-\-iso8601\fR
@@ -84,7 +101,7 @@ will remove an account\*(Aqs inactivity\&.
.PP
\fB\-l\fR, \fB\-\-list\fR
.RS 4
-现实账户年龄信æ¯ã€‚
+显示账户年龄信æ¯ã€‚
.RE
.PP
\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR
@@ -137,6 +154,14 @@ The
\fBchage\fR
program requires a shadow password file to be available\&.
.PP
+The chage program will report only the information from the shadow password file\&. This implies that configuration from other sources (e\&.g\&. LDAP or empty password hash field from the passwd file) that affect the user\*(Aqs login will not be shown in the chage output\&.
+.PP
+The
+\fBchage\fR
+program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The
+\fBpwck\fR
+can be used to check for this kind of inconsistencies\&.
+.PP
The
\fBchage\fR
command is restricted to the root user, except for the
diff --git a/man/zh_CN/man1/chfn.1 b/man/zh_CN/man1/chfn.1
index c0a2f2ed..68c8dd96 100644
--- a/man/zh_CN/man1/chfn.1
+++ b/man/zh_CN/man1/chfn.1
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "CHFN" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "CHFN" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -85,7 +85,7 @@ directory\&.
.PP
\fB\-u\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIWORK_PHONE\fR
diff --git a/man/zh_CN/man1/chsh.1 b/man/zh_CN/man1/chsh.1
index e9147a74..7697eafd 100644
--- a/man/zh_CN/man1/chsh.1
+++ b/man/zh_CN/man1/chsh.1
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "CHSH" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "CHSH" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,7 +45,7 @@ command are:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR
diff --git a/man/zh_CN/man1/expiry.1 b/man/zh_CN/man1/expiry.1
index afd3255c..b8efeba6 100644
--- a/man/zh_CN/man1/expiry.1
+++ b/man/zh_CN/man1/expiry.1
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "EXPIRY" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "EXPIRY" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -55,7 +55,7 @@ Check the password expiration of the current user\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.SH "文件"
.PP
diff --git a/man/zh_CN/man1/gpasswd.1 b/man/zh_CN/man1/gpasswd.1
index 3b4f3515..e4d93d05 100644
--- a/man/zh_CN/man1/gpasswd.1
+++ b/man/zh_CN/man1/gpasswd.1
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GPASSWD" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "GPASSWD" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -89,7 +89,7 @@ from the named
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR
@@ -147,7 +147,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -196,7 +198,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man1/groups.1 b/man/zh_CN/man1/groups.1
index 4b7982a9..6f288579 100644
--- a/man/zh_CN/man1/groups.1
+++ b/man/zh_CN/man1/groups.1
@@ -2,12 +2,12 @@
.\" Title: groups
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GROUPS" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "GROUPS" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,7 +28,7 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "å称"
-groups \- 现实当å‰ç»„å
+groups \- 显示当å‰ç»„å
.SH "大纲"
.HP \w'\fBgroups\fR\ 'u
\fBgroups\fR [\fI用户\fR]
diff --git a/man/zh_CN/man1/id.1 b/man/zh_CN/man1/id.1
index 637c0d55..ede76426 100644
--- a/man/zh_CN/man1/id.1
+++ b/man/zh_CN/man1/id.1
@@ -2,12 +2,12 @@
.\" Title: id
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "ID" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "ID" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man1/login.1 b/man/zh_CN/man1/login.1
index 7ecfde7b..4d6fdefd 100644
--- a/man/zh_CN/man1/login.1
+++ b/man/zh_CN/man1/login.1
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LOGIN" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "LOGIN" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -263,7 +263,7 @@ If defined, this file can inhibit all the usual chatter during the login sequenc
.PP
\fBISSUE_FILE\fR (string)
.RS 4
-如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰çŽ°å®žã€‚
+如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰æ˜¾ç¤ºã€‚
.RE
.PP
\fBKILLCHAR\fR (number)
@@ -311,7 +311,7 @@ If the string contains
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
-å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’ŒçŽ°å®žé‚®ç®±çŠ¶æ€ã€‚
+å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’Œæ˜¾ç¤ºé‚®ç®±çŠ¶æ€ã€‚
.sp
如果 shell çš„å¯åŠ¨æ–‡ä»¶å·²ç»æ£€æŸ¥äº†é‚®ä»¶("mailx \-e" 或者其它åŒåŠŸèƒ½çš„工具),您应该ç¦ç”¨å®ƒã€‚
.RE
@@ -467,7 +467,7 @@ System message of the day file\&.
.PP
$HOME/\&.hushlogin
.RS 4
-阻止现实系统信æ¯ã€‚
+阻止显示系统信æ¯ã€‚
.RE
.PP
/etc/login\&.defs
diff --git a/man/zh_CN/man1/newgrp.1 b/man/zh_CN/man1/newgrp.1
index c696e0c4..520cf1ee 100644
--- a/man/zh_CN/man1/newgrp.1
+++ b/man/zh_CN/man1/newgrp.1
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "NEWGRP" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "NEWGRP" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man1/passwd.1 b/man/zh_CN/man1/passwd.1
index 5d934a10..3c9c10ed 100644
--- a/man/zh_CN/man1/passwd.1
+++ b/man/zh_CN/man1/passwd.1
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "PASSWD" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "PASSWD" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -122,7 +122,7 @@ and causes show status for all users\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR
@@ -223,7 +223,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -282,7 +284,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man1/sg.1 b/man/zh_CN/man1/sg.1
index bda6a5ec..ea503789 100644
--- a/man/zh_CN/man1/sg.1
+++ b/man/zh_CN/man1/sg.1
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SG" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "SG" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man1/su.1 b/man/zh_CN/man1/su.1
index c4d29c1d..8d49ec7e 100644
--- a/man/zh_CN/man1/su.1
+++ b/man/zh_CN/man1/su.1
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 用户命令
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SU" "1" "2020-01-23" "shadow\-utils 4\&.8\&.1" "用户命令"
+.TH "SU" "1" "2021-07-22" "shadow\-utils 4\&.9" "用户命令"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -305,7 +305,7 @@ If the string contains
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
-å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’ŒçŽ°å®žé‚®ç®±çŠ¶æ€ã€‚
+å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’Œæ˜¾ç¤ºé‚®ç®±çŠ¶æ€ã€‚
.sp
如果 shell çš„å¯åŠ¨æ–‡ä»¶å·²ç»æ£€æŸ¥äº†é‚®ä»¶("mailx \-e" 或者其它åŒåŠŸèƒ½çš„工具),您应该ç¦ç”¨å®ƒã€‚
.RE
diff --git a/man/zh_CN/man3/shadow.3 b/man/zh_CN/man3/shadow.3
index cb8e8b6a..2b40009b 100644
--- a/man/zh_CN/man3/shadow.3
+++ b/man/zh_CN/man3/shadow.3
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 库函数调用
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SHADOW" "3" "2020-01-23" "shadow\-utils 4\&.8\&.1" "库函数调用"
+.TH "SHADOW" "3" "2021-07-22" "shadow\-utils 4\&.9" "库函数调用"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/faillog.5 b/man/zh_CN/man5/faillog.5
index 39a982f2..e69b440d 100644
--- a/man/zh_CN/man5/faillog.5
+++ b/man/zh_CN/man5/faillog.5
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "FAILLOG" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "FAILLOG" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/gshadow.5 b/man/zh_CN/man5/gshadow.5
index ac163c80..009ee051 100644
--- a/man/zh_CN/man5/gshadow.5
+++ b/man/zh_CN/man5/gshadow.5
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GSHADOW" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "GSHADOW" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/limits.5 b/man/zh_CN/man5/limits.5
index 1328a85a..0366531f 100644
--- a/man/zh_CN/man5/limits.5
+++ b/man/zh_CN/man5/limits.5
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LIMITS" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "LIMITS" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/login.access.5 b/man/zh_CN/man5/login.access.5
index 1e91af42..d233d09f 100644
--- a/man/zh_CN/man5/login.access.5
+++ b/man/zh_CN/man5/login.access.5
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LOGIN\&.ACCESS" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "LOGIN\&.ACCESS" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/login.defs.5 b/man/zh_CN/man5/login.defs.5
index 6267e1fc..3f42688b 100644
--- a/man/zh_CN/man5/login.defs.5
+++ b/man/zh_CN/man5/login.defs.5
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LOGIN\&.DEFS" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "LOGIN\&.DEFS" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -126,7 +126,9 @@ If set to
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -223,6 +225,15 @@ The default value for
\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&.
.RE
.PP
+\fBHMAC_CRYPTO_ALGO\fR (string)
+.RS 4
+Used to select the HMAC cryptography algorithm that the pam_timestamp module is going to use to calculate the keyed\-hash message authentication code\&.
+.sp
+Note: Check
+hmac(3)
+to see the possible algorithms that are available in your system\&.
+.RE
+.PP
\fBHOME_MODE\fR (number)
.RS 4
The mode for new home directories\&. If not specified, the
@@ -242,7 +253,7 @@ If defined, this file can inhibit all the usual chatter during the login sequenc
.PP
\fBISSUE_FILE\fR (string)
.RS 4
-如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰çŽ°å®žã€‚
+如果定义了,此文件将在æ¯æ¬¡çš„登录æ示之å‰æ˜¾ç¤ºã€‚
.RE
.PP
\fBKILLCHAR\fR (number)
@@ -299,7 +310,7 @@ If the string contains
.PP
\fBMAIL_CHECK_ENAB\fR (boolean)
.RS 4
-å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’ŒçŽ°å®žé‚®ç®±çŠ¶æ€ã€‚
+å¯ç”¨ç™»å½•æ—¶æ£€æŸ¥å’Œæ˜¾ç¤ºé‚®ç®±çŠ¶æ€ã€‚
.sp
如果 shell çš„å¯åŠ¨æ–‡ä»¶å·²ç»æ£€æŸ¥äº†é‚®ä»¶("mailx \-e" 或者其它åŒåŠŸèƒ½çš„工具),您应该ç¦ç”¨å®ƒã€‚
.RE
@@ -372,6 +383,11 @@ If defined, ":" delimited list of "message of the day" files to be displayed upo
If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&.
.RE
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBOBSCURE_CHECKS_ENAB\fR (boolean)
.RS 4
对密ç æ›´æ”¹å¯ç”¨é™„加检查。
@@ -394,7 +410,7 @@ If defined, name of file whose presence will inhibit non\-root logins\&. The con
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œå‡å®šä¸º \-1,将会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -442,7 +458,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man5/passwd.5 b/man/zh_CN/man5/passwd.5
index 6bd853b3..50f7680a 100644
--- a/man/zh_CN/man5/passwd.5
+++ b/man/zh_CN/man5/passwd.5
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "PASSWD" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "PASSWD" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -145,8 +145,8 @@ for details on how this string is interpreted\&.
If the password field contains some string that is not a valid result of
\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&.
.PP
-The comment field is used by various system utilities, such as
-\fBfinger\fR(1)\&.
+The comment field, also known as the gecos field, is used by various system utilities, such as
+\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&.
.PP
The home directory field provides the name of the initial working directory\&. The
\fBlogin\fR
diff --git a/man/zh_CN/man5/porttime.5 b/man/zh_CN/man5/porttime.5
index 3fcc9512..007a4315 100644
--- a/man/zh_CN/man5/porttime.5
+++ b/man/zh_CN/man5/porttime.5
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "PORTTIME" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "PORTTIME" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man5/shadow.5 b/man/zh_CN/man5/shadow.5
index 4c9fe5cd..0a623707 100644
--- a/man/zh_CN/man5/shadow.5
+++ b/man/zh_CN/man5/shadow.5
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SHADOW" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "SHADOW" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -61,7 +61,7 @@ If the password field contains some string that is not a valid result of
.PP
\fB最åŽä¸€æ¬¡æ›´æ”¹å¯†ç çš„日期\fR
.RS 4
-最近一次更改密ç çš„时间,表示从1970å¹´1月1日开始的天数。
+The date of the last password change, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&.
.sp
@@ -72,7 +72,7 @@ The value 0 has a special meaning, which is that the user should change her pass
.RS 4
最å°å¯†ç å¹´é¾„是指,用户一次更改密ç ä¹‹åŽï¼Œè¦ç­‰å¤šé•¿æ—¶é—´æ‰å†æ¬¡è¢«å…许更改密ç ã€‚
.sp
-空字段或 0 表示没有最å°å¯†ç å¹´é¾„。
+An empty field and value 0 mean that there is no minimum password age\&.
.RE
.PP
\fB最大密ç å¹´é¾„\fR
@@ -97,14 +97,14 @@ The value 0 has a special meaning, which is that the user should change her pass
.RS 4
密ç è¿‡æœŸ(查看上边的密ç æœ€å¤§å¹´é¾„)åŽï¼Œä»ç„¶æŽ¥å—此密ç çš„天数(在此期间,用户应该在下次登录时修改密ç )。
.sp
-密ç åˆ°æœŸå¹¶ä¸”过了这个宽é™æœŸä¹‹åŽï¼Œä½¿ç”¨ç”¨æˆ·çš„当å‰çš„密ç å°†ä¼šä¸èƒ½ç™»å½•ã€‚用户需è¦è”系系统管ç†å‘˜ã€‚
+After expiration of the password and this expiration period is elapsed, no login is possible for the user\&. The user should contact her administrator\&.
.sp
空字段表示没有强制密ç è¿‡æœŸã€‚
.RE
.PP
\fB账户过期日期\fR
.RS 4
-账户过期的日期,表示从1970年1月1日开始的天数。
+The date of expiration of the account, expressed as the number of days since Jan 1, 1970 00:00 UTC\&.
.sp
Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&.
.sp
diff --git a/man/zh_CN/man5/suauth.5 b/man/zh_CN/man5/suauth.5
index 1a1de530..82618300 100644
--- a/man/zh_CN/man5/suauth.5
+++ b/man/zh_CN/man5/suauth.5
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 文件格å¼å’Œè½¬åŒ–
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SUAUTH" "5" "2020-01-23" "shadow\-utils 4\&.8\&.1" "文件格å¼å’Œè½¬åŒ–"
+.TH "SUAUTH" "5" "2021-07-22" "shadow\-utils 4\&.9" "文件格å¼å’Œè½¬åŒ–"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man8/chgpasswd.8 b/man/zh_CN/man8/chgpasswd.8
index ff0204e9..c29451d8 100644
--- a/man/zh_CN/man8/chgpasswd.8
+++ b/man/zh_CN/man8/chgpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "CHGPASSWD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "CHGPASSWD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -73,7 +73,7 @@ command are:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-m\fR, \fB\-\-md5\fR
@@ -121,7 +121,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -170,7 +172,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man8/chpasswd.8 b/man/zh_CN/man8/chpasswd.8
index b26ed565..6eef2f85 100644
--- a/man/zh_CN/man8/chpasswd.8
+++ b/man/zh_CN/man8/chpasswd.8
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "CHPASSWD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "CHPASSWD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -89,7 +89,7 @@ variables of
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-m\fR, \fB\-\-md5\fR
@@ -139,7 +139,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -173,7 +175,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man8/faillog.8 b/man/zh_CN/man8/faillog.8
index 50b154bf..912b6ab0 100644
--- a/man/zh_CN/man8/faillog.8
+++ b/man/zh_CN/man8/faillog.8
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "FAILLOG" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "FAILLOG" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -66,7 +66,7 @@ options, the users\*(Aq records are changed, even if the user does not exist on
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR
diff --git a/man/zh_CN/man8/groupadd.8 b/man/zh_CN/man8/groupadd.8
index f150550e..069551c8 100644
--- a/man/zh_CN/man8/groupadd.8
+++ b/man/zh_CN/man8/groupadd.8
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GROUPADD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "GROUPADD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ description\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR
@@ -132,6 +132,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "é…置文件"
.PP
The following configuration variables in
@@ -229,14 +243,13 @@ invalid argument to option
.PP
\fI4\fR
.RS 4
-GID not unique (when
-\fB\-o\fR
-not used)
+GID is already used (when called without
+\fB\-o\fR)
.RE
.PP
\fI9\fR
.RS 4
-group name not unique
+group name is already used
.RE
.PP
\fI10\fR
diff --git a/man/zh_CN/man8/groupdel.8 b/man/zh_CN/man8/groupdel.8
index dd5804de..938d9665 100644
--- a/man/zh_CN/man8/groupdel.8
+++ b/man/zh_CN/man8/groupdel.8
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GROUPDEL" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "GROUPDEL" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -44,9 +44,14 @@ The options which apply to the
\fBgroupdel\fR
command are:
.PP
+\fB\-f\fR, \fB\-\-force\fR
+.RS 4
+This option forces the removal of the group, even if there\*(Aqs some user having the group as the primary one\&.
+.RE
+.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR
diff --git a/man/zh_CN/man8/groupmems.8 b/man/zh_CN/man8/groupmems.8
index fdfe2c38..7c78a986 100644
--- a/man/zh_CN/man8/groupmems.8
+++ b/man/zh_CN/man8/groupmems.8
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GROUPMEMS" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "GROUPMEMS" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -82,7 +82,7 @@ file, a new entry will be created\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-l\fR, \fB\-\-list\fR
diff --git a/man/zh_CN/man8/groupmod.8 b/man/zh_CN/man8/groupmod.8
index 9701a5e4..f1808e19 100644
--- a/man/zh_CN/man8/groupmod.8
+++ b/man/zh_CN/man8/groupmod.8
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GROUPMOD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "GROUPMOD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,6 +45,11 @@ The options which apply to the
\fBgroupmod\fR
command are:
.PP
+\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR
+.RS 4
+If group members are specified with \-U, append them to the existing member list, rather than replacing it\&.
+.RE
+.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR
.RS 4
The group ID of the given
@@ -74,7 +79,7 @@ from
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEW_GROUP\fR
@@ -123,6 +128,20 @@ directory and use the configuration files from the
\fIPREFIX_DIR\fR
directory\&. This option does not chroot and is intended for preparing a cross\-compilation target\&. Some limitations: NIS and LDAP users/groups are not verified\&. PAM authentication is using the host files\&. No SELINUX support\&.
.RE
+.PP
+\fB\-U\fR, \fB\-\-users\fR
+.RS 4
+A list of usernames to add as members of the group\&.
+.sp
+The default behavior (if the
+\fB\-g\fR,
+\fB\-N\fR, and
+\fB\-U\fR
+options are not specified) is defined by the
+\fBUSERGROUPS_ENAB\fR
+variable in
+/etc/login\&.defs\&.
+.RE
.SH "é…置文件"
.PP
The following configuration variables in
@@ -187,7 +206,7 @@ E_BAD_ARG: invalid argument to option
.PP
\fI4\fR
.RS 4
-E_GID_IN_USE: specified group doesn\*(Aqt exist
+E_GID_IN_USE: group id already in use
.RE
.PP
\fI6\fR
diff --git a/man/zh_CN/man8/grpck.8 b/man/zh_CN/man8/grpck.8
index eb8f146e..fc69e42d 100644
--- a/man/zh_CN/man8/grpck.8
+++ b/man/zh_CN/man8/grpck.8
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "GRPCK" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "GRPCK" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -130,7 +130,7 @@ command are:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-r\fR, \fB\-\-read\-only\fR
@@ -159,6 +159,14 @@ and /etc/gshadow
by GID\&.
.RE
.PP
+\fB\-S\fR, \fB\-\-silence\-warnings\fR
+.RS 4
+Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in
+/etc/group
+and
+/etc/ghadow\&.
+.RE
+.PP
By default,
\fBgrpck\fR
operates on
diff --git a/man/zh_CN/man8/lastlog.8 b/man/zh_CN/man8/lastlog.8
index 52dcc9c2..82e93979 100644
--- a/man/zh_CN/man8/lastlog.8
+++ b/man/zh_CN/man8/lastlog.8
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LASTLOG" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "LASTLOG" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -64,7 +64,7 @@ Clear lastlog record of a user\&. This option can be used only together with
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR
@@ -91,7 +91,7 @@ Print the lastlog records more recent than
.PP
\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR
.RS 4
-现实指定用户的最近登录记录。
+显示指定用户的最近登录记录。
.sp
The users can be specified by a login name, a numerical user ID, or a
\fIRANGE\fR
@@ -135,3 +135,7 @@ Database times of previous user logins\&.
.SH "CAVEATS"
.PP
Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&.
+.PP
+Having high UIDs can create problems when handling the
+<term> /var/log/lastlog</term>
+with external tools\&. Although the actual file is sparse and does not use too much space, certain applications are not designed to identify sparse files by default and may require a specific option to handle them\&.
diff --git a/man/zh_CN/man8/logoutd.8 b/man/zh_CN/man8/logoutd.8
index d9c36e70..ff4c2aa8 100644
--- a/man/zh_CN/man8/logoutd.8
+++ b/man/zh_CN/man8/logoutd.8
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "LOGOUTD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "LOGOUTD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man8/newusers.8 b/man/zh_CN/man8/newusers.8
index 190defa6..28490fdb 100644
--- a/man/zh_CN/man8/newusers.8
+++ b/man/zh_CN/man8/newusers.8
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "NEWUSERS" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "NEWUSERS" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -99,7 +99,9 @@ to be used as the primary group ID for the user and GID for the new group\&.
.RS 4
此字段用于定义用户的主目录。
.sp
-如果此字段指定的ä¸æ˜¯çŽ°æœ‰çš„目录,将会创建指定的目录,所有æƒè®¾ç½®ä¸ºåˆ›å»ºæˆ–更新的用户åŠå…¶ä¸»ç»„。
+If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. Note that
+\fInewusers does not create parent directories \fR
+of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&.
.sp
If the home directory of an existing user is changed,
\fBnewusers\fR
@@ -135,7 +137,7 @@ Allow names that do not conform to standards\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-r\fR, \fB\-\-system\fR
@@ -193,7 +195,9 @@ change the behavior of this tool:
It can take one of these values:
\fIDES\fR
(default),
-\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&.
+\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. MD5 and DES should not be used for new hashes, see
+crypt(5)
+for recommendations\&.
.sp
Note: this parameter overrides the
\fBMD5_CRYPT_ENAB\fR
@@ -263,7 +267,7 @@ This variable is deprecated\&. You should use
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œå‡å®šä¸º \-1,将会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -282,7 +286,7 @@ or
.sp
使用很多轮转,会让暴力破解更加困难。但是需è¦æ³¨æ„,认è¯ç”¨æˆ·æ—¶ä¹Ÿä¼šéœ€è¦æ›´å¤šçš„ CPU 资æºã€‚
.sp
-如果没有指定,libc 会选择默认的轮转数(5000)。
+If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&.
.sp
值必须在 1000 \- 999,999,999 之间。
.sp
diff --git a/man/zh_CN/man8/nologin.8 b/man/zh_CN/man8/nologin.8
index d07348f3..cceb3685 100644
--- a/man/zh_CN/man8/nologin.8
+++ b/man/zh_CN/man8/nologin.8
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "NOLOGIN" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "NOLOGIN" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man8/pwck.8 b/man/zh_CN/man8/pwck.8
index 8544184f..ad7e8756 100644
--- a/man/zh_CN/man8/pwck.8
+++ b/man/zh_CN/man8/pwck.8
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "PWCK" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "PWCK" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -200,7 +200,7 @@ Allow names that do not conform to standards\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-q\fR, \fB\-\-quiet\fR
@@ -249,6 +249,11 @@ The following configuration variables in
/etc/login\&.defs
change the behavior of this tool:
.PP
+\fBNONEXISTENT\fR (string)
+.RS 4
+If a system account intentionally does not have a home directory that exists, this string can be provided in the /etc/passwd entry for the account to indicate this\&. The result is that pwck will not emit a spurious warning for this account\&.
+.RE
+.PP
\fBPASS_MAX_DAYS\fR (number)
.RS 4
一个密ç å¯ä»¥ä½¿ç”¨çš„最大天数。如果密ç æ¯”这旧,将会强迫更改密ç ã€‚如果ä¸æŒ‡å®šï¼Œå°±å‡å®šä¸º \-1,这会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
@@ -256,7 +261,7 @@ change the behavior of this tool:
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œå‡å®šä¸º \-1,将会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/zh_CN/man8/pwconv.8 b/man/zh_CN/man8/pwconv.8
index 0b6f41e3..506bba68 100644
--- a/man/zh_CN/man8/pwconv.8
+++ b/man/zh_CN/man8/pwconv.8
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "PWCONV" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "PWCONV" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -119,7 +119,7 @@ commands are:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR
@@ -173,7 +173,7 @@ change the behavior of
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œå‡å®šä¸º \-1,将会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
diff --git a/man/zh_CN/man8/sulogin.8 b/man/zh_CN/man8/sulogin.8
index a8acbf7d..733ec9f8 100644
--- a/man/zh_CN/man8/sulogin.8
+++ b/man/zh_CN/man8/sulogin.8
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "SULOGIN" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "SULOGIN" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/zh_CN/man8/useradd.8 b/man/zh_CN/man8/useradd.8
index ea0f7b15..b1e91f1c 100644
--- a/man/zh_CN/man8/useradd.8
+++ b/man/zh_CN/man8/useradd.8
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "USERADD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "USERADD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -97,9 +97,11 @@ as the value for the user\*(Aqs login directory\&. The default is to append the
\fILOGIN\fR
name to
\fIBASE_DIR\fR
-and use that as the login directory name\&. The directory
+and use that as the login directory name\&. If the directory
\fIHOME_DIR\fR
-does not have to exist but will not be created if it is missing\&.
+does not exist, then it will be created unless the
+\fB\-M\fR
+option is specified\&.
.RE
.PP
\fB\-D\fR, \fB\-\-defaults\fR
@@ -134,7 +136,7 @@ variable in
.PP
\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR
.RS 4
-用户åˆå§‹ç™»é™†ç»„的组å或å·ç ã€‚组å必须已ç»å­˜åœ¨ã€‚组å·ç å¿…须指代已ç»å­˜åœ¨çš„组。
+用户åˆå§‹ç™»å½•ç»„的组å或å·ç ã€‚组å必须已ç»å­˜åœ¨ã€‚组å·ç å¿…须指代已ç»å­˜åœ¨çš„组。
.sp
If not specified, the behavior of
\fBuseradd\fR
@@ -164,7 +166,7 @@ option\&. The default is for the user to belong only to the initial group\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR
@@ -222,6 +224,8 @@ option) will be copied to the home directory\&.
By default, if this option is not specified and
\fBCREATE_HOME\fR
is not enabled, no home directories are created\&.
+.sp
+The directory where the user\*(Aqs home directory is created must exist and have proper SELinux context and permissions\&. Otherwise the user\*(Aqs home directory cannot be created or accessed\&.
.RE
.PP
\fB\-M\fR, \fB\-\-no\-create\-home\fR
@@ -351,7 +355,7 @@ variable in
.PP
\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR
.RS 4
-用户登陆的 SELinux 用户。默认为留空,这会造æˆç³»ç»Ÿé€‰æ‹©é»˜è®¤çš„ SELinux 用户。
+用户登录的 SELinux 用户。默认为留空,这会造æˆç³»ç»Ÿé€‰æ‹©é»˜è®¤çš„ SELinux 用户。
.RE
.SS "更改默认值"
.PP
@@ -539,7 +543,7 @@ Maximum members per group entry\&. When the maximum is reached, a new group entr
.PP
\fBPASS_MIN_DAYS\fR (number)
.RS 4
-两次更改密ç æ—¶é—´çš„最å°é—´éš”。将会拒ç»ä»»ä½•æ—©äºŽæ­¤çš„更改密ç çš„å°è¯•ã€‚如果ä¸æŒ‡å®šï¼Œå‡å®šä¸º \-1,将会ç¦ç”¨è¿™ä¸ªé™åˆ¶ã€‚
+The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, 0 will be assumed (which disables the restriction)\&.
.RE
.PP
\fBPASS_WARN_AGE\fR (number)
@@ -693,6 +697,20 @@ will create by default a group with the name of the user\&.
账户创建的默认值。
.RE
.PP
+/etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/*
+.RS 4
+Run\-part files to execute during user addition\&. The environment variable
+\fBACTION\fR
+will be populated with useradd and
+\fBSUBJECT\fR
+with the
+\fBusername\fR\&.
+useradd\-pre\&.d
+will be executed prior to any user addition\&.
+useradd\-post\&.d
+will execute after user addition\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/skel/
.RS 4
包å«é»˜è®¤æ–‡ä»¶çš„目录。
diff --git a/man/zh_CN/man8/userdel.8 b/man/zh_CN/man8/userdel.8
index 3c914323..b0ff0726 100644
--- a/man/zh_CN/man8/userdel.8
+++ b/man/zh_CN/man8/userdel.8
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "USERDEL" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "USERDEL" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -62,7 +62,7 @@ This option is dangerous and may leave your system in an inconsistent state\&.
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-r\fR, \fB\-\-remove\fR
@@ -221,6 +221,21 @@ Shadow 密ç å¥—件é…置。
安全用户账户信æ¯ã€‚
.RE
.PP
+/etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/*
+.RS 4
+Run\-part files to execute during user deletion\&. The environment variable
+\fBACTION\fR
+will be populated with
+\fBuserdel\fR
+and
+\fBSUBJECT\fR
+with the username\&.
+userdel\-pre\&.d
+will be executed prior to any user deletion\&.
+userdel\-post\&.d
+will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&.
+.RE
+.PP
/etc/subgid
.RS 4
Per user subordinate group IDs\&.
diff --git a/man/zh_CN/man8/usermod.8 b/man/zh_CN/man8/usermod.8
index 270df0aa..11e66810 100644
--- a/man/zh_CN/man8/usermod.8
+++ b/man/zh_CN/man8/usermod.8
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "USERMOD" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "USERMOD" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ utility\&.
.sp
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\&.
+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\&. If the current home directory does not exist the new home directory will not be created\&.
.RE
.PP
\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR
@@ -107,6 +107,9 @@ entry will be created if there were none\&.
用户主目录中,属于原æ¥çš„主组的文件将转交新组所有。
.sp
主目录之外的文件所属的组必须手动修改。
+.sp
+The change of the group ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
.RE
.PP
\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]]
@@ -143,7 +146,7 @@ to
.PP
\fB\-m\fR, \fB\-\-move\-home\fR
.RS 4
-将用户的主目录移动到新ä½ç½®ã€‚
+Move the content of the user\*(Aqs home directory to the new location\&. If the current home directory does not exist the new home directory will not be created\&.
.sp
This option is only valid in combination with the
\fB\-d\fR
@@ -192,7 +195,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\-
.PP
\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR
.RS 4
-用户的新登录 shell çš„å称。将此字段设置为空会让系统选择默认的登录 shell。
+The path of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&.
.RE
.PP
\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR
@@ -207,6 +210,9 @@ option is used\&. The value must be non\-negative\&.
.sp
用户主目录之外文件所有æƒå¿…须手动修å¤ã€‚
.sp
+The change of the user ownership of files inside of the user\*(Aqs home directory is also not done if the home dir owner uid is different from the current or new user id\&. This is a safety measure for special home directories such as
+/\&.
+.sp
No checks will be performed with regard to the
\fBUID_MIN\fR,
\fBUID_MAX\fR,
@@ -294,7 +300,7 @@ from /etc/login\&.defs\&.
.PP
\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR
.RS 4
-用户登陆的 SELinux 用户。
+用户登录的 SELinux 用户。
.sp
A blank
\fISEUSER\fR
diff --git a/man/zh_CN/man8/vipw.8 b/man/zh_CN/man8/vipw.8
index 971d955e..0975a8dc 100644
--- a/man/zh_CN/man8/vipw.8
+++ b/man/zh_CN/man8/vipw.8
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 2020-01-23
+.\" Date: 2021-07-22
.\" Manual: 系统管ç†å‘½ä»¤
-.\" Source: shadow-utils 4.8.1
+.\" Source: shadow-utils 4.9
.\" Language: Chinese Simplified
.\"
-.TH "VIPW" "8" "2020-01-23" "shadow\-utils 4\&.8\&.1" "系统管ç†å‘½ä»¤"
+.TH "VIPW" "8" "2021-07-22" "shadow\-utils 4\&.9" "系统管ç†å‘½ä»¤"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -67,7 +67,7 @@ commands are:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
-现实帮助信æ¯å¹¶é€€å‡ºã€‚
+显示帮助信æ¯å¹¶é€€å‡ºã€‚
.RE
.PP
\fB\-p\fR, \fB\-\-passwd\fR
diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in
index 91a7be2f..c79acb4d 100644
--- a/man/zh_TW/Makefile.in
+++ b/man/zh_TW/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -89,8 +89,14 @@ build_triplet = @build@
host_triplet = @host@
subdir = man/zh_TW
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -180,7 +186,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -209,9 +214,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -249,7 +259,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -346,8 +355,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -500,10 +509,7 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/missing b/missing
index 625aeb11..f62bbae3 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
# 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, see <https://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@ else
exit $st
fi
-perl_URL=https://www.perl.org/
-flex_URL=https://github.com/westes/flex
-gnu_software_URL=https://www.gnu.org/software
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
program_details ()
{
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st
# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
diff --git a/po/bs.po b/po/bs.po
index 261e2c75..14639178 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2004-05-09 12:03+0100\n"
"Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
"Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -521,12 +521,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr ""
@@ -760,6 +771,10 @@ msgstr "Kućni telefon"
msgid "Other"
msgstr "Ostalo"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr ""
+
msgid "Cannot change ID to root.\n"
msgstr ""
@@ -812,10 +827,6 @@ msgid "Changing the user information for %s\n"
msgstr ""
#, c-format
-msgid "%s: fields too long\n"
-msgstr ""
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -835,8 +846,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
@@ -1109,7 +1120,14 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, c-format
+msgid "Invalid member username %s\n"
msgstr ""
#, fuzzy, c-format
@@ -1216,6 +1234,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1265,6 +1289,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr ""
@@ -1371,7 +1399,8 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
+#, c-format
+msgid "Username Port From%*sLatest\n"
msgstr ""
msgid "Username Port Latest"
@@ -1638,6 +1667,10 @@ msgid "%s: line %d: can't update password\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: grupa %s postoji\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: grupa %s postoji\n"
@@ -1949,6 +1982,14 @@ msgid ""
msgstr ""
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr ""
@@ -2044,6 +2085,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr ""
#, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2180,14 +2225,34 @@ msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
#, c-format
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "nepoznata grupa: %s\n"
+
+#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "nepoznata grupa: %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "nepoznata grupa: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "nepoznata grupa: %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "nepoznata grupa: %s\n"
@@ -2227,10 +2292,18 @@ msgstr "nepoznata grupa: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "nepoznata grupa: %s\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "nepoznata grupa: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr ""
+
msgid "Creating mailbox file"
msgstr ""
@@ -2241,6 +2314,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: grupa %s postoji\n"
@@ -2285,8 +2369,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2446,6 +2532,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: grupa %s postoji\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "nepoznata grupa: %s\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 58a71442..874ce77a 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 61bf5f72..4faa74ba 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2012-01-22 18:25+0100\n"
"Last-Translator: Innocent De Marchi <tangram.peces@gmail.com>\n"
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -568,6 +568,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: no es pot executar «chroot» en el directori %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -576,6 +580,13 @@ msgstr ""
"Valor per defecte a DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "No es pot canviar al directori «%s»\n"
@@ -841,6 +852,10 @@ msgstr "Telèfon de casa"
msgid "Other"
msgstr "Altre"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: els camps són massa llargs\n"
+
msgid "Cannot change ID to root.\n"
msgstr "No es pot canviar l'ID al de root.\n"
@@ -894,10 +909,6 @@ msgid "Changing the user information for %s\n"
msgstr "S'està canviant la informació d'usuari per a %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: els camps són massa llargs\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -929,8 +940,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds nombre de passos SHA pel\n"
" algorisme de xifratge SHA*\n"
@@ -1255,10 +1266,20 @@ msgstr " -r, --system genera un compte del sistema\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
" -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list llista els membres del grup\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "el nom d'usuari «%s» no és vàlid\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: «%s» no és un nom de grup vàlid\n"
@@ -1376,6 +1397,22 @@ msgstr "%s: el seu nom de grup no concorda amb el seu nom d'usuari\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s:només l'usuari «root» pot fer servir l'opció -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append afegeix l'usuari als GRUPS addicionals\n"
+" llistats amb la opció -G sense eliminar-los\n"
+" d'altres grups\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID canvia l'ID del grup per GID\n"
@@ -1436,6 +1473,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort ordena les entrades per UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: «-s» i «-r» són incompatibles\n"
@@ -1554,8 +1595,10 @@ msgid ""
msgstr ""
" -u, --user USUARI mostra el registre de lastlog de l'USUARI\n"
-msgid "Username Port From Latest"
-msgstr "Usuari Port Des de Últim"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Usuari Port Últim"
msgid "Username Port Latest"
msgstr "Usuari Port Últim"
@@ -1840,6 +1883,12 @@ msgstr "%s: line %d: l'usuari «%s» no existeix a %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: línia %d: no es pot actualitzar la contrasenya\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr ""
+"%s: línia %d: no s'ha pogut generar el directori «%s» (ordre mkdir): %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr ""
@@ -2220,6 +2269,14 @@ msgstr ""
"(Ignorat)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "No esteu autoritzats a usar «su %s»\n"
@@ -2316,6 +2373,11 @@ msgstr "%s: el grup «%s» és un grup NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: s'han especificat massa grups (màx de %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: s'ha exhaurit la memòria. No es pot actualitzar %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2484,17 +2546,46 @@ msgstr "%s: no es pot reescriure el fitxer de contrasenyes\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z requereix nucli «SELinux» habilitat\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: el nom d'usuari «%s» no és vàlid\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: "
+"%s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: "
"%s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: ha fallat el restabliment de l'entrada del registre d'errors de UID %lu: "
+"%s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: ha fallat el restabliment del darrer registre de UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2545,10 +2636,21 @@ msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr ""
"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr ""
+"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "No es pot generar el mapatge d'inici de sessió SELinux per a %s\n"
+
msgid "Creating mailbox file"
msgstr "S'està creant la bústia de correu"
@@ -2562,6 +2664,17 @@ msgid "Setting mailbox file permissions"
msgstr "S'estan establint els permisos de la bústia de correu"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: l'usuari «%s» existeix\n"
@@ -2612,9 +2725,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: avís: falla el nom d'usuari %s a %s a l'assignació d'usuaris «SELinux».\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force força l'eliminació de fitxers, encara que\n"
" no siguin propietat de l'usuari\n"
@@ -2811,6 +2930,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: l'usuari «%s» ja existeix a %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: la data «%s» no és vàlida\n"
@@ -2996,6 +3119,9 @@ msgstr "%s: no es pot restaurar %s: %s (els seus canvis estan a %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: no es pot trobar el directori «tcb» per %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Usuari Port Des de Últim"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method el mètode d'encriptat (un de %s)\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 5bf197ed..1359ba02 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index ad975c03..b4dac681 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.2\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2014-08-24 15:07+0200\n"
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -552,6 +552,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: nelze změnit kořen (chroot) na adresář %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -560,6 +564,13 @@ msgstr ""
"Používám DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Nelze přejít do „%s“\n"
@@ -811,6 +822,10 @@ msgstr "Telefon domů"
msgid "Other"
msgstr "Ostatní"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: položka je příliš dlouhá\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Nelze změnit ID na root.\n"
@@ -863,10 +878,6 @@ msgid "Changing the user information for %s\n"
msgstr "Měním informace o uživateli %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: položka je příliš dlouhá\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -895,8 +906,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr " -s, --sha-rounds poÄet SHA iterací algoritmu SHA*\n"
#, c-format
@@ -1200,9 +1211,19 @@ msgstr " -r, --system vytvoří systémový úÄet\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_ADRESÃŘ adresář, do kterého pÅ™ejít\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list vypíše Äleny skupiny\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "chybné uživatelské jméno „%s“\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: „%s“ není platným jménem skupiny\n"
@@ -1316,6 +1337,21 @@ msgstr "%s: vaše skupina neodpovídá vašemu uživatelskému jménu\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: volbu -g/--group může používat pouze root\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append přidá uživatele do dalších SKUPIN zadaných\n"
+" volbou -G; neruší Älenství v ostatních sk.\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID změní ID skupiny na GID\n"
@@ -1375,6 +1411,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort řadí záznamy podle UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s a -r nejsou sluÄitelné\n"
@@ -1491,8 +1531,10 @@ msgid ""
msgstr ""
" -u, --user ÚČET zobrazí záznamy lastlogu pro uživatele ÚČET\n"
-msgid "Username Port From Latest"
-msgstr "Uživatel Port Z Naposledy"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Uživatel Port Naposledy"
msgid "Username Port Latest"
msgstr "Uživatel Port Naposledy"
@@ -1777,6 +1819,11 @@ msgstr "%s: řádek %d: uživatel „%s“ v %s neexistuje\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: řádek %d: heslo nelze aktualizovat\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: řádek %d: volání mkdir %s selhalo: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: řádek %d: volání mkdir %s selhalo: %s\n"
@@ -2143,6 +2190,14 @@ msgstr ""
"(Ignoruji)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Nejste oprávněn používat su %s\n"
@@ -2239,6 +2294,11 @@ msgstr "%s: skupina „%s“ je NIS skupinou.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: zadáno příliš mnoho skupin (max %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Nedostatek paměti. Nelze aktualizovat %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2403,15 +2463,40 @@ msgstr "%s: soubor s hesly nelze přepsat\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z vyžaduje jádro s povoleným SELinuxem\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: chybné uživatelské jméno „%s“\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: nepodařilo se vynulovat faillog záznam UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: nepodařilo se vynulovat faillog záznam UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: nepodařilo se vynulovat faillog záznam UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: nepodařilo se vynulovat lastlog záznam UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: nepodařilo se vynulovat lastlog záznam UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: nepodařilo se vynulovat lastlog záznam UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: nepodařilo se vynulovat faillog záznam UID %lu: %s\n"
@@ -2458,10 +2543,20 @@ msgstr "%s: řádek %d: volání chown %s selhalo: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: řádek %d: volání chown %s selhalo: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: řádek %d: volání chown %s selhalo: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Nelze vytvořit mapování uživatele %s na SEuživatele\n"
+
msgid "Creating mailbox file"
msgstr "Vytvářím poštovní schránku"
@@ -2475,6 +2570,17 @@ msgid "Setting mailbox file permissions"
msgstr "Nastavuji oprávnění k poštovní schránce"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: uživatel „%s“ již existuje\n"
@@ -2525,9 +2631,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: varování: mapování uživatele %s na uživatele SELinuxu %s selhalo.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force vynutí odstranění souborů,\n"
" i když je uživatel nevlastní\n"
@@ -2716,6 +2828,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: uživatel „%s“ již v %s existuje\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: neplatný rozsah podřízených uid „%s“\n"
@@ -2897,6 +3013,9 @@ msgstr "%s: %s nelze obnovit: %s (změny jsou v %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Uživatel Port Z Naposledy"
+
#~ msgid "%s: Target %u is owned by a different user\n"
#~ msgstr "%s: Cílový proces %u je vlastněn jiným uživatelem\n"
diff --git a/po/da.gmo b/po/da.gmo
index 7278fb96..8e486777 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 5895c929..4a1c58a9 100644
--- a/po/da.po
+++ b/po/da.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2012-01-26 23:57+0100\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
@@ -569,6 +569,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: Kan ikke chroot til mappe %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -577,6 +581,13 @@ msgstr ""
"Vælger standard DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Kunne ikke skifte mappe til »%s«\n"
@@ -830,6 +841,10 @@ msgstr "Telefon"
msgid "Other"
msgstr "Andet"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: Felter for lange\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Kan ikke ændre id til root.\n"
@@ -882,10 +897,6 @@ msgid "Changing the user information for %s\n"
msgstr "Ændrer brugeroplysninger for %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: Felter for lange\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -915,8 +926,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds antal SHA-runder for SHA*\n"
" crypt-algoritmerne\n"
@@ -1224,9 +1235,19 @@ msgstr " -r, --system opret en systemkonto\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list vis medlemmer af gruppen\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ugyldigt brugernavn »%s«\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: »%s« er ikke et gyldigt gruppenavn\n"
@@ -1342,6 +1363,24 @@ msgstr "%s: Dit gruppenavn svarer ikke overens med dit brugernavn\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: Kun root kan bruge tilvalget -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append tilføj brugeren til de supplementære "
+"GRUPPER\n"
+" nævnt af tilvalget -G uden at fjerne "
+"personen\n"
+" fra andre grupper\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID ændr gruppe-id'et til GID\n"
@@ -1403,6 +1442,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort sorter punkter efter UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s og -r er ikke kompatible\n"
@@ -1518,8 +1561,10 @@ msgstr ""
" -u, --user LOGIND vis lastlog-poster for brugeren med\n"
" det angivne LOGIND\n"
-msgid "Username Port From Latest"
-msgstr "Brugernavn Port Fra Seneste"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Brugernavn Port Seneste"
msgid "Username Port Latest"
msgstr "Brugernavn Port Seneste"
@@ -1801,6 +1846,11 @@ msgstr "%s: Linje %d: Bruger »%s« findes ikke i %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: Linje %d: Kan ikke opdatere adgangskode\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: Linje %d: mkdir %s fejlede: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: Linje %d: mkdir %s fejlede: %s\n"
@@ -2170,6 +2220,14 @@ msgstr ""
"(Ignoreret)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Du er ikke autoriseret til at su %s\n"
@@ -2266,6 +2324,11 @@ msgstr "%s: Gruppen »%s« er en NIS-gruppe.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: Der er angivet for mange grupper (højst %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Ikke nok hukommelse. Kan ikke opdatere %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2433,15 +2496,40 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z kræver SELinux-aktiveret kerne\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: Ugyldigt brugernavn »%s«\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: Kunne ikke nulstille faillog-punktet for UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: Kunne ikke nulstille faillog-punktet for UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: Kunne ikke nulstille faillog-punktet for UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: Kunne ikke nulstille lastlog-punktet for UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: Kunne ikke nulstille lastlog-punktet for UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: Kunne ikke nulstille lastlog-punktet for UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: Kunne ikke nulstille faillog-punktet for UID %lu: %s\n"
@@ -2488,10 +2576,20 @@ msgstr "%s: Linje %d: chown %s fejlede: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: Linje %d: chown %s fejlede: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: Linje %d: chown %s fejlede: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Kan ikke oprette SELinux-logindkortlægning for %s\n"
+
msgid "Creating mailbox file"
msgstr "Opretter postboksfil"
@@ -2505,6 +2603,17 @@ msgid "Setting mailbox file permissions"
msgstr "Indstiller postboksfilens rettigheder"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: Brugeren »%s« findes allerede\n"
@@ -2555,9 +2664,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: Advarsel: Brugernavnet %s til %s SELinux-brugerkortlægning mislykkedes.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force gennemtving fjernelse af filer,\n"
" selvom de ikke ejers af brugeren\n"
@@ -2751,6 +2866,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: Brugeren »%s« findes allerede i %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: Ugyldig dato »%s«\n"
@@ -2930,3 +3049,6 @@ msgstr "%s: Kan ikke gendanne %s: %s (dine ændringer er i %s)\n"
#, c-format
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: Kunne ikke finde tcb-mappe for %s\n"
+
+#~ msgid "Username Port From Latest"
+#~ msgstr "Brugernavn Port Fra Seneste"
diff --git a/po/de.gmo b/po/de.gmo
index 7c8dd177..cd84ac01 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 3d926f01..b5ef6940 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,15 +2,16 @@
# Copyright (C) 1999 Free Software Foundation, Inc.
# Frank Schmid <frank@cs-schmid.de>, 2002
# Holger Wansing <linux@wansing-online.de>, 2006, 2008, 2009, 2011, 2012, 2014.
+# Björn Esser <besser82@fedoraproject.org>, 2021.
# Patches, suggestions, etc welcome.
#
msgid ""
msgstr ""
"Project-Id-Version: shadow 4.2-2\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
-"PO-Revision-Date: 2014-07-27 23:06+0200\n"
-"Last-Translator: Holger Wansing <hwansing@mailbox.org>\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
+"PO-Revision-Date: 2020-09-22 15:10+0200\n"
+"Last-Translator: Björn Esser <besser82@fedoraproject.org>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -565,6 +566,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: chroot-Wechsel in Verzeichnis %s nicht möglich: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr "Kann keine zufälligen Bytes beziehen.\n"
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -573,6 +578,16 @@ msgstr ""
"Standard DES wird gewählt.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+"Kann kein Salt für das Präfix \"%s\" generieren. Bitte die Einstellungen für "
+"ENCRYPT_METHOD und den zugehörigen Konfigurationen der gewählten Hash-"
+"Methode überprüfen.\n"
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Es konnte nicht in das Verzeichnis »%s« gewechselt werden.\n"
@@ -834,6 +849,10 @@ msgstr "Telefon privat"
msgid "Other"
msgstr "Sonstiges"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: Felder zu lang\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ID konnte nicht auf root geändert werden.\n"
@@ -887,10 +906,6 @@ msgid "Changing the user information for %s\n"
msgstr "Benutzerinformationen für %s werden geändert.\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: Felder zu lang\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -922,11 +937,11 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
-" -s, --sha-rounds Anzahl der SHA-Runden für den SHA*-\n"
-" Verschlüsselungs-Algorithmus\n"
+" -s, --sha-rounds Anzahl der SHA-Runden für den SHA*-,\n"
+" BCRYPT oder YESCRYPT Hash-Methode.\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
@@ -1239,13 +1254,23 @@ msgstr ""
" neue Gruppe verwenden\n"
msgid " -r, --system create a system account\n"
-msgstr " -r, --system Eine Systemgruppe erstellen\n"
+msgstr " -r, --system Ein Systemkonto erstellen\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_VERZ Verzeichnis für chroot\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list Die Mitglieder der Gruppe auflisten\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "Ungültiger Benutzername »%s«\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: »%s« ist kein gültiger Gruppenname.\n"
@@ -1363,6 +1388,24 @@ msgstr "%s: Ihr Gruppenname passt nicht zu Ihrem Benutzername.\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: Nur root kann die Option -g/--group nutzen.\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append Benutzer zu zusätzlichen Gruppen "
+"hinzufügen,\n"
+" die mit der Option -G angegeben werden, "
+"ohne\n"
+" ihn dabei aus anderen Gruppen zu entfernen\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID Die Gruppen-ID auf GID ändern\n"
@@ -1428,6 +1471,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort Einträge nach UID sortieren\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s und -r sind nicht kompatibel.\n"
@@ -1548,8 +1595,10 @@ msgid ""
msgstr ""
" -u, --user BENUTZERZUGANG lastlog-Eintrag für BENUTZERZUGANG anzeigen\n"
-msgid "Username Port From Latest"
-msgstr "Benutzername Port Von Letzter"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Benutzername Port Letzter"
msgid "Username Port Latest"
msgstr "Benutzername Port Letzter"
@@ -1835,6 +1884,11 @@ msgstr "%s: Zeile %d: Benutzer »%s« existiert nicht in %s.\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: Zeile %d: Passwort kann nicht aktualisiert werden.\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: Zeile %d: mkdir %s (Verzeichnis erstellen) fehlgeschlagen: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: Zeile %d: mkdir %s (Verzeichnis erstellen) fehlgeschlagen: %s\n"
@@ -2210,6 +2264,14 @@ msgstr ""
"(Ignoriert)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "su %s ist Ihnen nicht erlaubt.\n"
@@ -2306,6 +2368,11 @@ msgstr "%s: Die Gruppe »%s« ist eine NIS-Gruppe.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: Zu viele Gruppen angegeben (max. %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Zu wenig Speicher. %s kann nicht aktualisiert werden.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2485,15 +2552,40 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z erfordert einen Kernel, in dem SELinux aktiviert ist.\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: Ungültiger Benutzername »%s«\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: Zurücksetzen des faillog-Eintrags für UID %lu fehlgeschlagen: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: Zurücksetzen des faillog-Eintrags für UID %lu fehlgeschlagen: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: Zurücksetzen des faillog-Eintrags für UID %lu fehlgeschlagen: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: Zurücksetzen des lastlog-Eintrags für UID %lu fehlgeschlagen: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: Zurücksetzen des lastlog-Eintrags für UID %lu fehlgeschlagen: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: Zurücksetzen des lastlog-Eintrags für UID %lu fehlgeschlagen: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: Zurücksetzen des faillog-Eintrags für UID %lu fehlgeschlagen: %s\n"
@@ -2540,10 +2632,20 @@ msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "SELinux-Login-Zuordnung für %s kann nicht erstellt werden\n"
+
msgid "Creating mailbox file"
msgstr "Erzeugen der Mailbox-Datei"
@@ -2557,6 +2659,17 @@ msgid "Setting mailbox file permissions"
msgstr "Zugriffsrechte der Mailboxdatei werden gesetzt"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: Benutzer »%s« existiert bereits\n"
@@ -2608,9 +2721,15 @@ msgstr ""
"%s: Warnung: Die SELinux-Benutzer-Zuordnung des Benutzernamens %s zu %s ist\n"
"fehlgeschlagen.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force Entfernen von Dateien erzwingen, auch wenn\n"
" sie nicht Eigentum des zu löschenden\n"
@@ -2812,6 +2931,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: Benutzer »%s« existiert bereits in %s.\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: Ungültiges Datum »%s«\n"
@@ -2997,3 +3120,6 @@ msgstr ""
#, c-format
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n"
+
+#~ msgid "Username Port From Latest"
+#~ msgstr "Benutzername Port Von Letzter"
diff --git a/po/dz.gmo b/po/dz.gmo
index bbf42bf7..9b2b4c2e 100644
--- a/po/dz.gmo
+++ b/po/dz.gmo
Binary files differ
diff --git a/po/dz.po b/po/dz.po
index f3a6c15f..e259c0bc 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2006-06-01 15:28+0530\n"
"Last-Translator: Jurmey Rabgay <jur_gay@yahoo.com>\n"
"Language-Team: dzongkha <pgeyleg@dit.gov.bt>\n"
@@ -536,12 +536,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: སྣོད་à½à½¼à¼‹ %s གསར་བསà¾à¾²à½´à½“་འབད་མི་ཚུགསà¼\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s'ལུ་ སི་ཌི་འབད་མ་ཚུགས་\n"
@@ -774,6 +785,10 @@ msgstr "à½à¾±à½²à½˜à¼‹à½‚ྱི་བརྒྱུད་འཕྲིནà¼"
msgid "Other"
msgstr "གཞནà¼"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པསà¼\n"
+
msgid "Cannot change ID to root.\n"
msgstr "རྩ་བ་ལུ་ ཨའི་ཌི་ བསྒྱུར་བཅོས་འབད་མི་ཚུགསà¼\n"
@@ -825,10 +840,6 @@ msgstr "%s: '%s' འདི་ ཞབས་à½à½¼à½‚་སྤྱོད་མིà¼
msgid "Changing the user information for %s\n"
msgstr "%sགི་དོན་ལུ་ ལག་ལེན་པའི་བརྡ་དོན་ བསྒྱུར་བཅོས་འབད་དོà¼\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པསà¼\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -849,8 +860,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1125,10 +1136,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s འདི་ ནུས་ཅན་གྱི་སྡེ་ཚན་མིང་མེན་པསà¼\n"
@@ -1232,6 +1251,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1281,6 +1306,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s དང་ -r གཉིས་མà½à½´à½“་འགྱུར་ཅན་མེནà¼\n"
@@ -1386,8 +1415,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ ལས་ མཇུག་མà½à½ à¼"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ མཇུག་མà½à½ à¼"
msgid "Username Port Latest"
msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ མཇུག་མà½à½ à¼"
@@ -1666,6 +1697,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: གྲལ་à½à½²à½‚་ %d: ཆོག་ཡིག་དུས་མà½à½´à½“་བཟོ་མི་ཚུགསà¼\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: གྲལ་à½à½²à½‚་ %d: mkdir འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔà¼\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: གྲལ་à½à½²à½‚་ %d: mkdir འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔà¼\n"
@@ -1991,6 +2026,14 @@ msgstr ""
"(སྣང་མེད་བཞག་ཡོདཔ་)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "à½à¾±à½¼à½‘་ ཟླ་%sལུ་ དབང་སྤྲོད་མ་འབདà¼\n"
@@ -2088,6 +2131,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: སྡེ་ཚན་མང་རབས་ཅིག་གསལ་བཀོད་འབད་ཡོདཔ་(མང་མà½à½ à¼‹ %d)à¼\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: དུས་མà½à½´à½“་སྡེ་ཚན་ནང་ལུ་ དྲན་ཚད་ལས་བརྒལ་བà¼\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2224,15 +2271,36 @@ msgstr "%s: ཆོག་ཡིག་ཡིག་སྣོད་འདི་ ལà
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'à¼\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: སྣོད་à½à½¼à¼‹ %s གསར་བསà¾à¾²à½´à½“་འབད་མི་ཚུགསà¼\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: སྣོད་à½à½¼à¼‹ %s གསར་བསà¾à¾²à½´à½“་འབད་མི་ཚུགསà¼\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: ཆོག་ཡིག་ཡིག་སྣོད་ དུས་མà½à½´à½“་བཟོ་མ་ཚུགསà¼\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: སྣོད་à½à½¼à¼‹ %s གསར་བསà¾à¾²à½´à½“་འབད་མི་ཚུགསà¼\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: སྣོད་à½à½¼à¼‹ %s གསར་བསà¾à¾²à½´à½“་འབད་མི་ཚུགསà¼\n"
@@ -2274,10 +2342,18 @@ msgstr "%s: གྲལ་à½à½²à½‚་ %d: chown འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱ
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: གྲལ་à½à½²à½‚་ %d: chown འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔà¼\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: གྲལ་à½à½²à½‚་ %d: chown འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔà¼\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s གི་དོན་ལུ་ རྒས་པའི་བརྡ་དོན་བསྒྱུར་བཅོས་འབད་དོà¼\n"
+
msgid "Creating mailbox file"
msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་ གསར་བསà¾à¾²à½´à½“་འབད་དོà¼"
@@ -2289,6 +2365,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་གྱི་གནང་བ་ གཞི་སྒྲིག་འབད་དོà¼"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: ལག་ལེན་པ་ %sཡོདཔ་ཨིནà¼\n"
@@ -2340,8 +2427,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2503,6 +2592,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: ལག་ལེན་པ་ %sཡོདཔ་ཨིནà¼\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: ནུས་མེད་ཚེས་གྲངས་ '%s'à¼\n"
@@ -2686,6 +2779,9 @@ msgstr "%s: %sསོར་ཆུད་འབད་མ་ཚུགས་: %s (à½
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་à½à½¼à¼‹'%s'à¼\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ ལས་ མཇུག་མà½à½ à¼"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/el.gmo b/po/el.gmo
index b87dbfaf..995e2e23 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 1c65e4ae..8fcef7d0 100644
--- a/po/el.po
+++ b/po/el.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow_po_el\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2012-01-21 00:22+0200\n"
"Last-Translator: Thomas Vasileiou <thomas-v@wildmail.com>\n"
"Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
@@ -570,6 +570,10 @@ msgstr ""
"%s: αδυναμία αλλαγής του Ï†Î±Î¹Î½Î¿Î¼ÎµÎ½Î¹ÎºÎ¿Ï Î³Î¿Î½Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… (chroot) %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -578,6 +582,13 @@ msgstr ""
"Επιλέγεται η Ï€ÏοκαθοÏισμένη DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Αδυναμία αλλαγής καταλόγου στον '%s'\n"
@@ -845,6 +856,10 @@ msgstr "Τηλέφωνο Οικίας"
msgid "Other"
msgstr "Άλλο"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: Î Î¿Î»Ï Î¼Î±ÎºÏιά πεδία\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Αδυναμία αλλαγής ταυτότητας χÏήστη σε root.\n"
@@ -897,10 +912,6 @@ msgid "Changing the user information for %s\n"
msgstr "Αλλαγή πληÏοφοÏιών χÏήστη για τον %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: Î Î¿Î»Ï Î¼Î±ÎºÏιά πεδία\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -931,8 +942,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds αÏιθμός κÏκλων SHA για τους \n"
" αλγόÏιθμους κÏυπτογÏάφησης SHA*\n"
@@ -1252,11 +1263,21 @@ msgstr " -r, --system δημιουÏγία λογαÏιασμÎ
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
" -R, --root ΚΑΤΑΛΟΓΟΣ_CHROOT κατάλογος στον οποίο να εφαÏμοστεί "
"chroot\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list λίστα όλων των μελών της ομάδας\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "Μη έγκυÏο όνομα χÏήστη '%s'\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: Το '%s' δεν είναι έγκυÏο όνομα ομάδας\n"
@@ -1373,6 +1394,23 @@ msgstr "%s: το όνομα της ομάδας σας δεν ταιÏιάζει
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: μόνο ο root μποÏεί να χÏησιμοποιήσει την επιλογή -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append Ï€Ïοσθήκη του χÏήστη στις συμπληÏωματικές "
+"ΟΜΑΔΕΣ\n"
+" που Ï€ÏοσδιοÏίζονται από την επιλογή -G, \n"
+" χωÏίς να διαγÏάφεται από τις άλλες ομάδες\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID αλλαγή του ID της ομάδας σε GID\n"
@@ -1433,6 +1471,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort ταξινόμηση εγγÏαφών κατά UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s και -r είναι ασÏμβατα\n"
@@ -1552,8 +1594,10 @@ msgstr ""
" -u, --user ΟÎΟΜΑ Ï€Ïοβολή των εγγÏαφών του lastlog για το "
"συγκεκÏιμένο ΟÎΟΜΑ\n"
-msgid "Username Port From Latest"
-msgstr "Όνομα_ΧÏήστη ΘÏÏα Από Τελευταία"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Όνομα_ΧÏήστη ΘÏÏα Τελευταία"
msgid "Username Port Latest"
msgstr "Όνομα_ΧÏήστη ΘÏÏα Τελευταία"
@@ -1841,6 +1885,11 @@ msgstr "%s: γÏαμμή %d: Ο χÏήστης '%s' δεν υπάÏχει στο
msgid "%s: line %d: can't update password\n"
msgstr "%s: γÏαμμή %d: αδυναμία ανανέωση συνθηματικοÏ\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: γÏαμμή %d: αποτυχία δημιουÏγίας καταλόγου %s (mkdir) : %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: γÏαμμή %d: αποτυχία δημιουÏγίας καταλόγου %s (mkdir) : %s\n"
@@ -2233,6 +2282,14 @@ msgstr ""
"(Αγνοήθηκε)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Δεν έχετε άδεια για su %s\n"
@@ -2329,6 +2386,11 @@ msgstr "%s: Η ομάδα '%s' είναι NIS ομάδα.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: ΠÏοσδιοÏίστηκαν υπεÏβολικές ομάδες (μεγ. %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Δεν υπάÏχει ελεÏθεÏη μνήμη. Αδυναμία ενημέÏωσης του %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2503,15 +2565,40 @@ msgstr "%s: αδυναμία επανεγγÏαφής του αÏχείου συ
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z απαιτεί πυÏήνα με ενεÏγοποιημένο το SELinux\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: μη έγκυÏο όνομα χÏήστη '%s'\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο faillog του UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο faillog του UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο faillog του UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο lastlog του UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο lastlog του UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο lastlog του UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: αποτυχία επαναφοÏάς της καταχώÏησης στο faillog του UID %lu: %s\n"
@@ -2558,10 +2645,20 @@ msgstr "%s: γÏαμμή %d: αποτυχία αλλαγής ιδιοκτήτη
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: γÏαμμή %d: αποτυχία αλλαγής ιδιοκτήτη %s (chown): %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: γÏαμμή %d: αποτυχία αλλαγής ιδιοκτήτη %s (chown): %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Αδυναμία δημιουÏγίας χαÏτογÏάφησης σÏνδεσης SELinux για το χÏήστη %s\n"
+
msgid "Creating mailbox file"
msgstr "ΔημιουÏγία αÏχείου mailbox"
@@ -2574,6 +2671,17 @@ msgid "Setting mailbox file permissions"
msgstr "ΡÏθμιση αδειών του αÏχείου mailbox"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: Ο χÏήστης '%s' υπάÏχει ήδη\n"
@@ -2625,9 +2733,15 @@ msgstr ""
"%s: Ï€Ïοειδοποίηση: απέτυχε η Ï€Ïοσθήκη του χÏήστη %s στην χαÏτογÏάφηση "
"SELinux %s.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force εξαναγκασμένη απομάκÏυνση αÏχείων,\n"
" ακόμα και εάν ο χÏήστης δεν είναι ιδιοκτήτης "
@@ -2830,6 +2944,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: Ο χÏήστης %s υπάÏχει ήδη στο %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: Μη έγκυÏη ημεÏομηνία '%s'\n"
@@ -3018,6 +3136,9 @@ msgstr "%s: αδυναμία επαναφοÏάς %s: %s (οι αλλαγές ε
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: αποτυχία εÏÏεσης καταλόγου tcb %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Όνομα_ΧÏήστη ΘÏÏα Από Τελευταία"
+
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
#~ "Usage: vipw [options]\n"
diff --git a/po/es.gmo b/po/es.gmo
index 1ccca384..4504026d 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 9f4a184c..230d8acc 100644
--- a/po/es.po
+++ b/po/es.po
@@ -32,7 +32,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.4.2\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2011-11-23 23:56+0100\n"
"Last-Translator: Francisco Javier Cuadrado <fcocuadrado@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -588,6 +588,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -596,6 +600,13 @@ msgstr ""
"Se usará DES, el valor predeterminado.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Incapaz de cambiar el directorio a «%s»\n"
@@ -852,6 +863,10 @@ msgstr "Teléfono de casa"
msgid "Other"
msgstr "Otro"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: campos demasiado largos\n"
+
msgid "Cannot change ID to root.\n"
msgstr ""
"No se puede cambiar el identificador al usuario del administrador («root»).\n"
@@ -905,10 +920,6 @@ msgid "Changing the user information for %s\n"
msgstr "Cambiando la información de usuario para %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: campos demasiado largos\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -938,8 +949,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds número de rondas SHA para los algoritmos\n"
" de cifrado SHA*\n"
@@ -1255,9 +1266,19 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system crea una cuenta del sistema\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list lista los miembros del grupo\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nombre de usuario «%s» incorrecto\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: «%s» no es un nombre de grupo válido\n"
@@ -1374,6 +1395,18 @@ msgstr "%s: su nombre de grupo no coincide con su nombre de usuario\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: sólo el administrador puede utilizar la opción -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -l, --no-log-init do not add the user to the lastlog and\n"
+#| " faillog databases\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -l, --no-log-init no añade el usuario a las bases de datos de\n"
+" lastlog y faillog\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
" -g, --gid GID cambia el identificador del grupo a GID\n"
@@ -1433,6 +1466,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s y -r son incompatibles\n"
@@ -1553,8 +1590,10 @@ msgstr ""
" -u, --user USUARIO muestra el registro de «lastlog» del "
"USUARIO\n"
-msgid "Username Port From Latest"
-msgstr "Nombre Puerto De Último"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Nombre Puerto Último"
msgid "Username Port Latest"
msgstr "Nombre Puerto Último"
@@ -1838,6 +1877,11 @@ msgstr "%s: línea %d: el usuario «%s» no existe en %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: línea %d: no se puede actualizar la contraseña\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: línea %d: mkdir %s falló: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: línea %d: mkdir %s falló: %s\n"
@@ -2220,6 +2264,14 @@ msgstr ""
"(Ignorado)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "No está autorizado a usar su %s\n"
@@ -2320,6 +2372,11 @@ msgstr "%s: el grupo «%s» es un grupo NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: demasiados grupos especificados (el máximo es %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: sin memoria. No se pudo actualizar %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2497,17 +2554,46 @@ msgstr "%s: no se puede reescribir el fichero de contraseñas\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z necesita que el núcleo tenga activado SELinux\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nombre de usuario «%s» incorrecto\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: se produjo un fallo al reiniciar la entrada de faillog del UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
"%s: se produjo un fallo al reiniciar la entrada de faillog del UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: se produjo un fallo al reiniciar la entrada de faillog del UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr ""
+"%s: se produjo un fallo al reiniciar la entrada de lastlog del UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
"%s: se produjo un fallo al reiniciar la entrada de lastlog del UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr ""
+"%s: se produjo un fallo al reiniciar la entrada de lastlog del UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2555,10 +2641,19 @@ msgstr "%s: línea %d: chown %s falló: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: línea %d: chown %s falló: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: línea %d: chown %s falló: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Cambiando la información de la edad para %s\n"
+
msgid "Creating mailbox file"
msgstr "Creando el fichero del buzón de correo"
@@ -2572,6 +2667,17 @@ msgid "Setting mailbox file permissions"
msgstr "Estableciendo los permisos del fichero del buzón de correo"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: el usuario «%s» ya existe\n"
@@ -2622,9 +2728,15 @@ msgstr ""
"%s: aviso: no se pudo relacionar el nombre del usuario %s con el usuario %s "
"de SELinux.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force forzar la eliminación de los ficheros,\n"
" incluso si no pertenecen al usuario\n"
@@ -2818,6 +2930,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: el usuario «%s» ya existe en %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: fecha «%s» incorrecta\n"
@@ -3003,6 +3119,9 @@ msgstr "%s: no se puede restaurar %s: %s (sus cambios están en %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Nombre Puerto De Último"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method el método de cifrado (uno de %s)\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index 92901c02..d849f016 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index e7af077d..f6806618 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: eu\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2011-11-26 19:42+0100\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Euskara <debian-l10n-eu@lists.debian.org>\n"
@@ -542,6 +542,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -550,6 +554,13 @@ msgstr ""
"DES-era lehenesten.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ezin da '%s'-ra direktorioa aldatu\n"
@@ -802,6 +813,10 @@ msgstr "Etxeko telefonoa"
msgid "Other"
msgstr "Bestelakoa"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: eremu luzegiak\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Ezin izan da IDa root-era aldatu.\n"
@@ -854,10 +869,6 @@ msgid "Changing the user information for %s\n"
msgstr "%s(r)en erabiltzaile informazioa aldatzen\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: eremu luzegiak\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -886,8 +897,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds SHA* kriptografia algoritmoentzako\n"
" SHA erronda kopurua\n"
@@ -1196,9 +1207,19 @@ msgstr " -r, --system sistema kontu bat sortu\n"
#, fuzzy
#| msgid " -Q, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -r, --remove-password TALDEaren pasahitaz kendu\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list taldearen partaideak zerrendatu\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "%s erabiltzaile-izen baliogabea\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' ez da baliozko talde-izena\n"
@@ -1317,6 +1338,22 @@ msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: root-ek bakarrik erabili dezake -g/--group aukera\n"
#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append gehitu erabiltzailea -G aukerak zehaztutako "
+"talde\n"
+" gehigarrietara beste taldeetatik kendu gabe\n"
+
+#, fuzzy
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -r, --system sortu sistema kontuak\n"
@@ -1372,6 +1409,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s eta -r ezin dira batera erabili\n"
@@ -1491,8 +1532,10 @@ msgstr ""
" -u, --user IZENA IZENA duen erabiltzailearen lastlog\n"
" erregistroa bistaratzen du\n"
-msgid "Username Port From Latest"
-msgstr "Erabiltzaile-izena Ataka Nondik Azkena"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Erabiltzaile-izena Ataka Azkena"
msgid "Username Port Latest"
msgstr "Erabiltzaile-izena Ataka Azkena"
@@ -1776,6 +1819,11 @@ msgstr "%s: %d lerroa: `%s' erabiltzailea ez da existitzen %s-en\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: %d lerroa: ezin da pasahitza eguneratu\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: %d lerroa: mkdir %s-ek huts egin du: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: %d lerroa: mkdir %s-ek huts egin du: %s\n"
@@ -2149,6 +2197,14 @@ msgstr ""
"(Ez ikusi egin zaio)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Ez duzu 'su %s' exekutatzeko baimenik\n"
@@ -2245,6 +2301,11 @@ msgstr "%s: taldea '%s' NIS talde bat da.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: talde gehiegi zehaztu dira (geh. %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: memoriarik ez. Ezin da %s eguneratu.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2393,15 +2454,40 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z-ek SELinux gaituriko kernel bat behar du\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: '%s' erabiltzaile-izen baliogabea\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: huts %lu UIDaren faillog erregistroa berrezartzean: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: huts %lu UIDaren faillog erregistroa berrezartzean: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: huts %lu UIDaren faillog erregistroa berrezartzean: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: huts %lu UIDaren lastlog sarrera berrezartzean: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: huts %lu UIDaren lastlog sarrera berrezartzean: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: huts %lu UIDaren lastlog sarrera berrezartzean: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: huts %lu UIDaren faillog erregistroa berrezartzean: %s\n"
@@ -2447,10 +2533,19 @@ msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s(r)en data informazioa aldatzen\n"
+
msgid "Creating mailbox file"
msgstr "Postakutxa fitxategia sortzen"
@@ -2464,6 +2559,17 @@ msgid "Setting mailbox file permissions"
msgstr "Postakutxa fitxategi baimenak ezartzen"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: '%s' erabiltzailea badago dagoeneko\n"
@@ -2514,9 +2620,15 @@ msgstr ""
"%s: abisua: %s erabiltzaile izena %s SELinux erabiltzailera mapatzean huts "
"egin du.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force fitxategien ezabatzea indartu nahiz ez\n"
" erabiltzailearenak izan\n"
@@ -2711,6 +2823,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: '%s' erabiltzailea badago dagoeneko %s-n\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: '%s' data baliogabea\n"
@@ -2896,6 +3012,9 @@ msgstr "%s: ezin da %s leheneratu: %s (zure aldaketak %s(e)n daude)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Erabiltzaile-izena Ataka Nondik Azkena"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method zifratze metodoa (%s-etako bat)\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index db1a7307..ee353408 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 778ecf31..7cdc83ac 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-24 22:54+0100\n"
"Last-Translator: Tommi Vainikainen <thv+debian@iki.fi>\n"
"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -532,12 +532,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ei voi vaihtaa hakemistoon \"%s\"\n"
@@ -770,6 +781,10 @@ msgstr "Kotipuhelin"
msgid "Other"
msgstr "Muu"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: kentät liian pitkiä\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Ei voi vaihtaa tunnusta pääkäyttäjäksi.\n"
@@ -821,10 +836,6 @@ msgstr "%s: \"%s\" on NIS-palvelin tälle asiakkaalle.\n"
msgid "Changing the user information for %s\n"
msgstr "Muutetaan käyttäjän %s tietoja\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: kentät liian pitkiä\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -845,8 +856,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1121,10 +1132,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "virheellinen käyttäjätunnus \"%s\"\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s ei ole kelpo ryhmänimi\n"
@@ -1228,6 +1247,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1277,6 +1302,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: valitsimet -s ja -r eivät sovi yhteen\n"
@@ -1382,8 +1411,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Käyttäjä Portti Mistä Viimeksi"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Käyttäjä Portti Viimeksi"
msgid "Username Port Latest"
msgstr "Käyttäjä Portti Viimeksi"
@@ -1662,6 +1693,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: rivi %d: salasanaa ei voi päivittää\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: rivi %d: mkdir epäonnistui\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: rivi %d: mkdir epäonnistui\n"
@@ -2004,6 +2039,14 @@ msgstr ""
"(Ohitettu)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Sinulla ei ole lupaa asettua käyttäjäksi %s\n"
@@ -2102,6 +2145,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: liian monta ryhmää määritelty (korkeintaan %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: muisti loppui funktiossa update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2238,15 +2285,36 @@ msgstr "%s: salasanatiedostoa ei voi uudelleenkirjoittaa\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: hakemistoa %s ei voi luoda\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: hakemistoa %s ei voi luoda\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: salasanatiedostoa ei voi päivittää\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: hakemistoa %s ei voi luoda\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
@@ -2288,10 +2356,18 @@ msgstr "%s: rivi %d: chown epäonnistui\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: rivi %d: chown epäonnistui\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: rivi %d: chown epäonnistui\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n"
+
msgid "Creating mailbox file"
msgstr "Luodaan postilaatikkotiedosto"
@@ -2304,6 +2380,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Asetetaan postilaatikkotiedoston oikeudet"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: käyttäjä %s on olemassa\n"
@@ -2355,8 +2442,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2520,6 +2609,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: käyttäjä %s on olemassa\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: virheellinen päiväys \"%s\"\n"
@@ -2704,6 +2797,9 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: virheellinen perushakemisto \"%s\"\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Käyttäjä Portti Mistä Viimeksi"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/fr.po b/po/fr.po
index 9455f676..7fc16d51 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow-man-pages 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2015-08-04 21:59+0200\n"
"Last-Translator: Thomas Blein <tblein@tblein.eu>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -544,12 +544,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr ""
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr ""
@@ -794,6 +805,10 @@ msgstr ""
msgid "Other"
msgstr "autre"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr ""
+
msgid "Cannot change ID to root.\n"
msgstr ""
@@ -846,10 +861,6 @@ msgid "Changing the user information for %s\n"
msgstr "Modifier le nom complet et les informations associées à un utilisateur"
#, c-format
-msgid "%s: fields too long\n"
-msgstr ""
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -873,8 +884,8 @@ msgstr ""
#, fuzzy
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr "N'ajoute pas l'utilisateur aux bases de données lastlog et faillog."
#, c-format
@@ -1158,10 +1169,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+msgid "Invalid member username %s\n"
+msgstr "unicité et validité des noms d'utilisateur ;"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "unicité et validité des noms de groupe ;"
@@ -1266,6 +1284,13 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+#, fuzzy
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr "N'ajoute pas l'utilisateur aux bases de données lastlog et faillog."
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1315,6 +1340,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr ""
@@ -1423,7 +1452,8 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
+#, c-format
+msgid "Username Port From%*sLatest\n"
msgstr ""
msgid "Username Port Latest"
@@ -1698,6 +1728,10 @@ msgstr "l'utilisateur indiqué n'existe pas"
msgid "%s: line %d: can't update password\n"
msgstr "impossible de mettre à jour le fichier des mots de passe"
+#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "l'utilisateur indiqué n'existe pas"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr ""
@@ -2014,6 +2048,14 @@ msgid ""
msgstr ""
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr ""
@@ -2109,6 +2151,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr ""
#, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2246,14 +2292,36 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "unicité et validité des noms d'utilisateur ;"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"Ce champ est utilisé pour définir le répertoire personnel de l'utilisateur."
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
#, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr ""
+"Ce champ est utilisé pour définir le répertoire personnel de l'utilisateur."
+
+#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
+#, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "impossible de créer le répertoire personnel"
@@ -2295,9 +2363,17 @@ msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr ""
#, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr ""
+
+#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Impossible de mettre à jour la correspondance d'utilisateur SELinux"
+
msgid "Creating mailbox file"
msgstr ""
@@ -2309,6 +2385,17 @@ msgid "Setting mailbox file permissions"
msgstr ""
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr ""
@@ -2352,8 +2439,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2520,6 +2609,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr ""
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr ""
diff --git a/po/gl.gmo b/po/gl.gmo
index dffc57c0..bafff014 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index a1b42771..6e2e8650 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2006-07-18 23:27+0200\n"
"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
@@ -532,12 +532,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Non se puido cambiar a \"%s\"\n"
@@ -770,6 +781,10 @@ msgstr "Teléfono da casa"
msgid "Other"
msgstr "Outro"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: campos longos de máis\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Non se pode cambiar o ID a root.\n"
@@ -821,10 +836,6 @@ msgstr "%s: \"%s\" é o mestre NIS deste cliente.\n"
msgid "Changing the user information for %s\n"
msgstr "A cambiar a información de usuario de %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: campos longos de máis\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -845,8 +856,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1121,10 +1132,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nome de usuario \"%s\" non válido\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s non é un nome de grupo válido\n"
@@ -1228,6 +1247,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1277,6 +1302,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s e -r son incompatibles\n"
@@ -1382,8 +1411,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Usuario Porto Desde Última"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Usuario Porto Última"
msgid "Username Port Latest"
msgstr "Usuario Porto Última"
@@ -1663,6 +1694,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: liña %d: non se pode actualizar o contrasinal\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: liña %d: a chamada a mkdir fallou\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: liña %d: a chamada a mkdir fallou\n"
@@ -1991,6 +2026,14 @@ msgstr ""
"(Ignórase)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Non está autorizado para facer su %s\n"
@@ -2088,6 +2131,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: especificáronse grupos de máis (máximo %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: esgotouse a memoria en update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2224,15 +2271,36 @@ msgstr "%s: non se pode rescribir o ficheiro de contrasinais\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nome de usuario \"%s\" non válido\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: non se pode crear o directorio %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: non se pode crear o directorio %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: non se pode actualizar o ficheiro de contrasinais\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: non se pode crear o directorio %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: non se pode crear o directorio %s\n"
@@ -2274,10 +2342,18 @@ msgstr "%s: liña %d: a chamada a chown fallou\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: liña %d: a chamada a chown fallou\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: liña %d: a chamada a chown fallou\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "A cambiar a información de caducidade de %s\n"
+
msgid "Creating mailbox file"
msgstr "A crear o ficheiro da caixa do correo"
@@ -2290,6 +2366,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "A estabrecer os permisos do ficheiro da caixa do correo"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: o usuario %s existe\n"
@@ -2341,8 +2428,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2507,6 +2596,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: o usuario %s existe\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: data \"%s\" non válida\n"
@@ -2690,6 +2783,9 @@ msgstr "%s: non se pode restaurar %s: %s (os seus cambios están en %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: directorio base \"%s\" non válido\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Usuario Porto Desde Última"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/he.po b/po/he.po
index 4756d0ad..9e67987d 100644
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2004-07-21 23:59+0300\n"
"Last-Translator: Lior Kaplan <webmaster@guides.co.il>\n"
"Language-Team: Hebrew <en@li.org>\n"
@@ -523,11 +523,22 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "ספרית שורש ×œ× ×—×•×§×™×ª \"%s\"\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
+#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Unable to cd to '%s'\n"
msgstr "×œ× ×™×›×•×œ לבצע cd ל-\"%s\"\n"
@@ -765,6 +776,10 @@ msgstr "מספר טלפון בבית"
msgid "Other"
msgstr "×חר"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: שדות ××¨×•×›×™× ×ž×™×“×™\n"
+
msgid "Cannot change ID to root.\n"
msgstr "×œ× ×™×›×•×œ לשנות ID ל-root\n"
@@ -817,10 +832,6 @@ msgid "Changing the user information for %s\n"
msgstr "משנה מידע בשביל המשתמש %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: שדות ××¨×•×›×™× ×ž×™×“×™\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -840,8 +851,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
@@ -1114,10 +1125,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+msgid "Invalid member username %s\n"
+msgstr "%s: ×©× ×œ× ×—×•×§×™: \"%s\"\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: ×©× ×œ× ×—×•×§×™: \"%s\"\n"
@@ -1221,6 +1239,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1270,6 +1294,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr ""
@@ -1379,7 +1407,8 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
+#, c-format
+msgid "Username Port From%*sLatest\n"
msgstr ""
msgid "Username Port Latest"
@@ -1647,6 +1676,10 @@ msgid "%s: line %d: can't update password\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: שורה %d: חסרה סיסמה חדשה\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: שורה %d: חסרה סיסמה חדשה\n"
@@ -1959,6 +1992,14 @@ msgid ""
msgstr ""
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr ""
@@ -2053,6 +2094,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr ""
#, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2188,15 +2233,35 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ×©× ×œ× ×—×•×§×™: \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "ספרית שורש ×œ× ×—×•×§×™×ª \"%s\"\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "ספרית שורש ×œ× ×—×•×§×™×ª \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: ×œ× ×™×›×•×œ לעדכן קובץ סיסמ×ות\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "ספרית שורש ×œ× ×—×•×§×™×ª \"%s\"\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "ספרית שורש ×œ× ×—×•×§×™×ª \"%s\"\n"
@@ -2237,10 +2302,18 @@ msgstr "%s: שורה %d: ×œ× ×™×›×•×œ לעדכן רשומת סיסמה\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: שורה %d: ×œ× ×™×›×•×œ לעדכן רשומת סיסמה\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: שורה %d: ×œ× ×™×›×•×œ לעדכן רשומת סיסמה\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "שנה מידע הזדקות בשביל %s\n"
+
msgid "Creating mailbox file"
msgstr ""
@@ -2252,6 +2325,17 @@ msgid "Setting mailbox file permissions"
msgstr ""
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr ""
@@ -2295,8 +2379,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2456,6 +2542,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr ""
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: ×©× ×œ× ×—×•×§×™: \"%s\"\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 3c8a62ae..aa51353a 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 23fd60d2..213e5eba 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-25 20:56+0100\n"
"Last-Translator: SZERVÃC Attila <sas@321.hu>\n"
"Language-Team: Hungarian <gnome@gnome.hu>\n"
@@ -527,12 +527,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "nem lehet könyvtárat váltani ide: \"%s\"\n"
@@ -765,6 +776,10 @@ msgstr "Otthoni telefon"
msgid "Other"
msgstr "Egyéb"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: túl hosszú mezők\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Az ID nem cserélhető root-ra.\n"
@@ -816,10 +831,6 @@ msgstr "%s: `%s' a NIS mester ehhez a klienshez.\n"
msgid "Changing the user information for %s\n"
msgstr "%s felhasználói információinak cseréje\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: túl hosszú mezők\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -840,8 +851,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1116,10 +1127,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "érvénytelen '%s' felhasználó név\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s rossz csoport név\n"
@@ -1223,6 +1242,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1272,6 +1297,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s és -r inkompatibilisek\n"
@@ -1377,8 +1406,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Felhasználónév Port Innen Legutóbb"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Felhasználónév Port Legutóbb"
msgid "Username Port Latest"
msgstr "Felhasználónév Port Legutóbb"
@@ -1658,6 +1689,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: %d. sor: jelszó frissítése sikertelen\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: %d. sor: mkdir sikertelen\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: %d. sor: mkdir sikertelen\n"
@@ -2001,6 +2036,14 @@ msgstr ""
"(Ãtlépve)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Nem vagy jogosult ehhez: su %s\n"
@@ -2098,6 +2141,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: túl sok csoport van megadva (max %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: elfogyott a memória az update_group során\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2234,15 +2281,36 @@ msgstr "%s: nem tudom újraírni a jelszófájlt\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: érvénytelen '%s' felhasználónév\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: %s könyvtár nem hozható létre\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: %s könyvtár nem hozható létre\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: a jelszófájl frissítése sikertelen\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: %s könyvtár nem hozható létre\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
@@ -2284,10 +2352,18 @@ msgstr "%s: %d. sor: chown sikertelen\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: %d. sor: chown sikertelen\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: %d. sor: chown sikertelen\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s elévülési információinak módosítása\n"
+
msgid "Creating mailbox file"
msgstr "Postafiókfájl létrehozása"
@@ -2300,6 +2376,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "A postafiókfájl jogosultságainak beállítása"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: %s felhasználó létezik\n"
@@ -2351,8 +2438,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2515,6 +2604,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: %s felhasználó létezik\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: érvénytelen dátum: \"%s\"\n"
@@ -2697,6 +2790,9 @@ msgstr "%s: nem tudom visszaállítani %s-t: %s (módosításaid itt vannak: %s)
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Felhasználónév Port Innen Legutóbb"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/id.gmo b/po/id.gmo
index 1d523157..49173c95 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 521e142c..a1e34c5c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.15\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-25 20:58+0100\n"
"Last-Translator: Parlin Imanuel Toh <parlin_i@yahoo.com>\n"
"Language-Team: Debian Indonesia <debid@yahoogroups.com>\n"
@@ -526,11 +526,22 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
+#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Tidak dapat cd ke \"%s\"\n"
@@ -764,6 +775,10 @@ msgstr "Telepon Rumah"
msgid "Other"
msgstr "Lain-lain"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: ruas terlalu panjang\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Tidak dapat mengubah ID menjadi root.\n"
@@ -815,10 +830,6 @@ msgstr "%s: `%s' merupakan master NIS untuk klien ini.\n"
msgid "Changing the user information for %s\n"
msgstr "Mengubah informasi pengguna dari %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: ruas terlalu panjang\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -839,8 +850,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1115,10 +1126,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nama pengguna tak sah '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: nama grup %s tidak sah\n"
@@ -1222,6 +1241,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1271,6 +1296,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s dan -r tidak kompatible\n"
@@ -1376,8 +1405,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Nama pengguna Port Dari Terakhir"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Nama pengguna Port Terakhir"
msgid "Username Port Latest"
msgstr "Nama pengguna Port Terakhir"
@@ -1656,6 +1687,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: baris %d: tak dapat memperbaharui kata sandi\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: baris %d: mkdir gagal\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: baris %d: mkdir gagal\n"
@@ -1986,6 +2021,14 @@ msgstr ""
"(Diabaikan)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Anda tak diperbolehkan untuk su %s\n"
@@ -2083,6 +2126,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: grup yang diberikan terlalu banyak (maks %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: kehabisan memori saat update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2219,15 +2266,36 @@ msgstr "%s: tak dapat menulis kembali berkas kata sandi\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nama pengguna `%s' tak sah\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: tak dapat membuat direktori %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: tak dapat membuat direktori %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: tidak dapat memperbaharui berkas kata sandi\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: tak dapat membuat direktori %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: tak dapat membuat direktori %s\n"
@@ -2269,10 +2337,18 @@ msgstr "%s: baris %d: chown gagal\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: baris %d: chown gagal\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: baris %d: chown gagal\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Mengubah informasi umur akun untuk %s\n"
+
msgid "Creating mailbox file"
msgstr ""
@@ -2283,6 +2359,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: pengguna %s telah ada\n"
@@ -2333,8 +2420,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2497,6 +2586,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: pengguna %s telah ada\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: tanggal `%s' tak sah\n"
@@ -2679,6 +2772,9 @@ msgstr "%s: tidak dapat mengembalikan %s: %s (perubahan ada dalam %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: direktori awal `%s' tak sah\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Nama pengguna Port Dari Terakhir"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/it.gmo b/po/it.gmo
index f0bfb4c6..54d15cc4 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index b93702c9..03cce927 100644
--- a/po/it.po
+++ b/po/it.po
@@ -25,7 +25,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2008-03-27 14:40+0100\n"
"Last-Translator: Danilo Piazzalunga <danilopiazza@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -554,6 +554,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -562,6 +566,13 @@ msgstr ""
"Viene usato il valore predefinito, DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Impossibile spostarsi nella directory «%s»\n"
@@ -803,6 +814,10 @@ msgstr "Numero telefonico di casa"
msgid "Other"
msgstr "Altro"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: lunghezza dei campi eccessiva\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Impossibile cambiare ID a root.\n"
@@ -855,10 +870,6 @@ msgid "Changing the user information for %s\n"
msgstr "Modifica delle informazioni relative all'utente %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: lunghezza dei campi eccessiva\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -885,8 +896,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds il numero di passaggi SHA per gli\n"
" algoritmi di cifratura SHA*\n"
@@ -1176,9 +1187,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nome utente «%s» non valido\n"
+
#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s non è un nome di gruppo valido\n"
@@ -1288,6 +1307,15 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+#, fuzzy
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -s, --sha-rounds il numero di passaggi SHA per gli\n"
+" algoritmi di cifratura SHA*\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1340,6 +1368,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s e -r sono incompatibili\n"
@@ -1445,8 +1477,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Nome utente Porta Da Ultimo accesso"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Nome utente Porta Ultimo accesso"
msgid "Username Port Latest"
msgstr "Nome utente Porta Ultimo accesso"
@@ -1727,6 +1761,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: riga %d: impossibile aggiornare la password\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: riga %d: la chiamata mkdir ha restituito un errore\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: riga %d: la chiamata mkdir ha restituito un errore\n"
@@ -2082,6 +2120,14 @@ msgstr ""
"(Ignorato)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Non si è autorizzati a diventare %s\n"
@@ -2178,6 +2224,10 @@ msgstr "%s: il gruppo «%s» è un gruppo NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: troppi gruppi specificati (max %d).\n"
+#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: memoria esaurita. Impossibila aggiornare il database dei gruppi.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2333,15 +2383,36 @@ msgstr "%s: impossibile riscrivere il file delle password\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nome utente «%s» non valido\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: impossibile creare la directory %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: impossibile creare la directory %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: impossibile aggiornare il file delle password\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: impossibile creare la directory %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: impossibile creare la directory %s\n"
@@ -2383,10 +2454,18 @@ msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Modifica delle informazioni sulla durata dell'account di %s\n"
+
msgid "Creating mailbox file"
msgstr "Creazione del file della casella di posta"
@@ -2399,6 +2478,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Impostazione dei permessi del file della casella di posta"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: l'utente «%s» esiste già\n"
@@ -2451,8 +2541,10 @@ msgstr ""
#, fuzzy
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -s, --sha-rounds il numero di passaggi SHA per gli\n"
" algoritmi di cifratura SHA*\n"
@@ -2636,6 +2728,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: l'utente «%s» esiste già\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: data «%s» non valida\n"
@@ -2824,6 +2920,9 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: directory di base «%s» non valida\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Nome utente Porta Da Ultimo accesso"
+
#~ msgid "malloc(%d) failed\n"
#~ msgstr "malloc(%d) non riuscita\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 419e3408..fe9e9a79 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 7995868d..e086ea74 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.5\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2012-05-21 02:52+0900\n"
"Last-Translator: NAKANO Takeo <nakano@webmasters.gr.jp>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
@@ -556,6 +556,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: ディレクトリ %s ã« chroot ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -564,6 +568,13 @@ msgstr ""
"デフォルト㮠DES を用ã„ã¾ã™ã€‚\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s' ã¸ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’変更ã§ãã¾ã›ã‚“\n"
@@ -814,6 +825,10 @@ msgstr "自宅電話番å·"
msgid "Other"
msgstr "ãã®ä»–"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: 入力内容ãŒé•·éŽãŽã¾ã™\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ID ã‚’ root ã¸å¤‰æ›´ã§ãã¾ã›ã‚“。\n"
@@ -866,10 +881,6 @@ msgid "Changing the user information for %s\n"
msgstr "%s ã®ãƒ¦ãƒ¼ã‚¶æƒ…報を変更中\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: 入力内容ãŒé•·éŽãŽã¾ã™\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -898,8 +909,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds SHA* æš—å·åŒ–アルゴリズム㮠SHA ラウンド回数\n"
@@ -1206,9 +1217,19 @@ msgstr " -r, --system システムアカウントを作æˆã—ã
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_DIR chroot ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list グループã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’表示ã—ã¾ã™ã€‚\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ユーザå '%s' ã¯ä¸æ­£ã§ã™\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' ã¯ã‚°ãƒ«ãƒ¼ãƒ—åã¨ã—ã¦æ­£ã—ãã‚ã‚Šã¾ã›ã‚“\n"
@@ -1322,6 +1343,22 @@ msgstr "%s: ã‚ãªãŸã®ã‚°ãƒ«ãƒ¼ãƒ—åã¯ã‚ãªãŸã®ãƒ¦ãƒ¼ã‚¶åã¨ãƒžãƒƒãƒã
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: -g/--group オプション㯠root ã®ã¿ãŒæŒ‡å®šã§ãã¾ã™\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append ユーザを (-G ã§æŒ‡å®šã•ã‚ŒãŸ) 補助グループ群\n"
+" GROUPS ã«è¿½åŠ ã™ã‚‹ã€‚ä»–ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰ã®å‰Šé™¤ã¯\n"
+" è¡Œã‚ãªã„。\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID グループ㮠ID ã‚’ GID ã«å¤‰æ›´ã—ã¾ã™\n"
@@ -1381,6 +1418,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort エントリを UID ã§ã‚½ãƒ¼ãƒˆã™ã‚‹\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s 㨠-r ã¯åŒæ™‚ã«æŒ‡å®šã§ãã¾ã›ã‚“\n"
@@ -1494,8 +1535,10 @@ msgid ""
msgstr ""
" -u, --user LOGIN 指定ユーザ LOGIN ã® lastlog 記録を表示ã™ã‚‹\n"
-msgid "Username Port From Latest"
-msgstr "ユーザå ãƒãƒ¼ãƒˆ 場所 最近ã®ãƒ­ã‚°ã‚¤ãƒ³"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "ユーザå ãƒãƒ¼ãƒˆ 最近ã®ãƒ­ã‚°ã‚¤ãƒ³"
msgid "Username Port Latest"
msgstr "ユーザå ãƒãƒ¼ãƒˆ 最近ã®ãƒ­ã‚°ã‚¤ãƒ³"
@@ -1782,6 +1825,11 @@ msgstr "%s: %d è¡Œ: ユーザ '%s' 㯠%s ã«å­˜åœ¨ã—ã¾ã›ã‚“\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: %d è¡Œ: パスワードを更新ã§ãã¾ã›ã‚“\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: %d è¡Œ: mkdir %s ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: %d è¡Œ: mkdir %s ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s\n"
@@ -2149,6 +2197,14 @@ msgstr ""
"(無視)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "ã‚ãªãŸã«ã¯ su %s ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“\n"
@@ -2245,6 +2301,11 @@ msgstr "%s: グループ '%s' 㯠NIS グループã§ã™ã€‚\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: 指定ã—ãŸã‚°ãƒ«ãƒ¼ãƒ—æ•°ãŒå¤šã™ãŽã¾ã™ (最大 %d 個)。\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: メモリä¸è¶³ã§ã™ã€‚%s ã‚’æ›´æ–°ã§ãã¾ã›ã‚“。\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2398,15 +2459,40 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z 㯠SELinux カーãƒãƒ«ä»¥å¤–ã§ã¯ä½¿ãˆã¾ã›ã‚“\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: '%s' ã¯ãƒ¦ãƒ¼ã‚¶åã«ä½¿ãˆã¾ã›ã‚“\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: UID %lu ã® faillog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: UID %lu ã® faillog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: UID %lu ã® faillog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: UID %lu ã® lastlog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: UID %lu ã® lastlog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: UID %lu ã® lastlog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: UID %lu ã® faillog エントリをリセットã§ãã¾ã›ã‚“ã§ã—ãŸ: %s\n"
@@ -2453,10 +2539,20 @@ msgstr "%s: %d è¡Œ: chown %s ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: %d è¡Œ: chown %s ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: %d è¡Œ: chown %s ãŒå¤±æ•—ã—ã¾ã—ãŸ: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s ã® SELinux ログインマッピングを生æˆã§ãã¾ã›ã‚“\n"
+
msgid "Creating mailbox file"
msgstr "メールボックスファイルを作æˆã—ã¾ã™"
@@ -2470,6 +2566,17 @@ msgid "Setting mailbox file permissions"
msgstr "メールボックスファイルã®è¨±å¯å±žæ€§ã‚’設定ã—ã¾ã™"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: ユーザ '%s' ã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™\n"
@@ -2520,9 +2627,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: 警告: ユーザå %s ã‹ã‚‰ %s ã¸ã® SELinux ユーザマッピングã«å¤±æ•—ã—ã¾ã—ãŸã€‚\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force 当該ユーザã®æ‰€æœ‰ã§ãªã„ファイルも削除ã™ã‚‹\n"
@@ -2711,6 +2824,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: ユーザ '%s' ã¯æ—¢ã« %s ã«å­˜åœ¨ã—ã¾ã™\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: 日付 '%s' ã¯ä¸æ­£ã§ã™\n"
@@ -2889,6 +3006,9 @@ msgstr "%s: %s を復旧ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s (ã‚ãªãŸã®å¤‰æ›´ã¯ %s ã
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: %s ã® tcb ディレクトリãŒè¦‹ä»˜ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "ユーザå ãƒãƒ¼ãƒˆ 場所 最近ã®ãƒ­ã‚°ã‚¤ãƒ³"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method æš—å·åŒ–ã®æ–¹æ³• (%s ã®ã©ã‚Œã‹ã²ã¨ã¤)\n"
diff --git a/po/kk.gmo b/po/kk.gmo
index f963da74..d53083ac 100644
--- a/po/kk.gmo
+++ b/po/kk.gmo
Binary files differ
diff --git a/po/kk.po b/po/kk.po
index e91a7470..7986aea7 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadowutils\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2017-02-07 17:09+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
@@ -554,6 +554,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: %s бумаÑына chroot жаÑау мүмкін емеÑ: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -562,6 +566,13 @@ msgstr ""
"БаÑтапқы DES мәні қолданылады.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s' бумаÑына ауыÑу мүмкін емеÑ\n"
@@ -821,6 +832,10 @@ msgstr "Үй телефон нөмірі"
msgid "Other"
msgstr "БаÑқа"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: жолдар өте ұзын\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Суперпайдаланушы (root) құқығын алу мүмкін емеÑ.\n"
@@ -873,10 +888,6 @@ msgid "Changing the user information for %s\n"
msgstr "%s үшін пайдаланушы ақпаратын өзгерту\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: жолдар өте ұзын\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -905,8 +916,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds SHA* Ñ‚ÐµÐºÑ‚ÐµÑ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð´ÐµÑ€ үшін SHA\n"
" раундтар Ñаны\n"
@@ -1219,9 +1230,19 @@ msgstr " -r, --system жүйелік тіркелгіні жа
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_DIR chroot үшін бума\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list топ мүшелердің тізімін шығару\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "қате пайдаланушы аты '%s'\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' Ð´Ò±Ñ€Ñ‹Ñ Ñ‚Ð¾Ð¿ аты емеÑ\n"
@@ -1334,6 +1355,23 @@ msgstr "%s: Ñіздің топ атыңыз пайдаланушы атыңыз
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: тек root -g/--group опциÑÑын қолдана алады\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append пайдаланушыны қоÑымша ТОПТÐР ішіне қоÑу\n"
+" -G опциÑÑÑ‹ ÑиÑқты, пайдаланушыны баÑқа "
+"топтардан\n"
+" өшірмейді\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID топ ID-ін GID мәніне орнату\n"
@@ -1394,6 +1432,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort жазбаларды UID б/ша Ñұрыптау\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s пен -r өзара үйлеÑпейді\n"
@@ -1511,8 +1553,10 @@ msgstr ""
" -u, --user ТІРКЕЛГІ көрÑетілген ТІРКЕЛГІ үшін lastlog жазбаларын "
"көрÑету\n"
-msgid "Username Port From Latest"
-msgstr "Пайдаланушы Порт Қайдан Соңғы"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Пайдаланушы Порт Соңғы"
msgid "Username Port Latest"
msgstr "Пайдаланушы Порт Соңғы"
@@ -1799,6 +1843,11 @@ msgstr "%s: жол %d: '%s' пайдаланушыÑÑ‹ %s ішінде жоқ\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: жол %d: парольді жаңарту мүмкін емеÑ\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: жол %d: mkdir %s ÑәтÑіз: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: жол %d: mkdir %s ÑәтÑіз: %s\n"
@@ -2176,6 +2225,14 @@ msgstr ""
"(Елемеу)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Сізде su %s жаÑау үшін құқығыңыз жоқ\n"
@@ -2272,6 +2329,11 @@ msgstr "%s: '%s' тобы NIS тобы болып тұр.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: шектен көп топ Ñаны көрÑетілген (макÑимум %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Жады жеткілікÑіз. %s жаңарту мүмкін емеÑ.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2432,15 +2494,40 @@ msgstr "%s: -C опциÑÑын -S опциÑÑымен бірге қолданÑ
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z өз алдында SELinux қоÑулы Ñдроны талап етеді\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: '%s' пайдаланушы аты қате\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: %lu UID-Ñ– үшін faillog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: %lu UID-Ñ– үшін faillog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: %lu UID-Ñ– үшін faillog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: %lu UID-Ñ– үшін lastlog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: %lu UID-Ñ– үшін lastlog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: %lu UID-Ñ– үшін lastlog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: %lu UID-Ñ– үшін faillog жазбаÑын нөлдеу ÑәтÑіз: %s\n"
@@ -2487,10 +2574,20 @@ msgstr "%s: жол %d: chown %s ÑәтÑіз: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: жол %d: chown %s ÑәтÑіз: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: жол %d: chown %s ÑәтÑіз: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s үшін SELinux тіркелгі ÑәйкеÑтігін жаÑау мүмкін емеÑ\n"
+
msgid "Creating mailbox file"
msgstr "Пошта файлын құру"
@@ -2503,6 +2600,17 @@ msgid "Setting mailbox file permissions"
msgstr "Пошта файлына Ñ€Ò±Ò›Ñаттарды орнату"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: '%s' пайдаланушыÑÑ‹ бар болып тұр\n"
@@ -2552,9 +2660,15 @@ msgstr ""
msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr "%s: еÑкерту: %s пайдаланушы атын %s SELinux ÑәйкеÑтендіру ÑәтÑіз.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force файлдарды өшіруді мәжбүрлеу,\n"
" пайдаланушы иелігінде болмаÑа да\n"
@@ -2749,6 +2863,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: '%s' пайдаланушыÑÑ‹ %s ішінде бар болып тұр\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: жарамÑыз бағынышты uid ауқымы '%s'\n"
@@ -2930,6 +3048,9 @@ msgstr "%s: %s қайтару мүмкін емеÑ: %s (Ñіздің өзгер
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: %s үшін tcb бумаÑын табу ÑәтÑіз\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Пайдаланушы Порт Қайдан Соңғы"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method шифрлеу Ñ‚Ó™Ñілі (%s ішінен біреу)\n"
diff --git a/po/km.po b/po/km.po
index bd20f5ee..c569dd8e 100644
--- a/po/km.po
+++ b/po/km.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow_po_km\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2006-06-28 10:08+0700\n"
"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
"Language-Team: Khmer <support@khmeros.info>\n"
@@ -540,12 +540,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s ៖ មិន​​អាច​បង្កើážâ€‹ážážâ€‹ %s បានឡើយ\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "មិន​អាច​​ cd ចូលទៅ​ '%s' បានទáŸ\n"
@@ -781,6 +792,10 @@ msgstr "ទូរសáŸáž–្ទនៅ​ផ្ទះ"
msgid "Other"
msgstr "ផ្សáŸáž„ៗ"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s ៖ វាល គឺ​វែងវែងពáŸáž€â€‹\n"
+
msgid "Cannot change ID to root.\n"
msgstr "មិន​អាចផ្លាស់ប្ážáž¼ážšâ€‹áž›áŸážâ€‹ážŸáž˜áŸ’គាល់​ទៅ​ជា​ root បាន​ឡើយ​ ។\n"
@@ -832,10 +847,6 @@ msgstr "%s ៖ '%s' ជាមáŸâ€‹ NIS សម្រាប់​ម៉ាស៊
msgid "Changing the user information for %s\n"
msgstr "កំពុងផ្លាស់​​ប្ážáž¼ážšâ€‹áž–áŸážáŸŒáž˜áž¶áž“​អ្នកប្រើ​សម្រាប់​ %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s ៖ វាល គឺ​វែងវែងពáŸáž€â€‹\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -856,8 +867,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1132,9 +1143,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ឈ្មោះ​អ្នក​ប្រើ​មិន​ážáŸ’រឹមážáŸ’រូវ​ '%s'\n"
+
#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s  ៖ %s ជា​ឈ្មោះ​ក្រុម​មិន​ážáŸ’រឹមážáŸ’រូវ​\n"
@@ -1239,6 +1258,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1288,6 +1313,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s ៖ -s និង​ -r គឺមិន​ážáŸ’រូវ​គ្នាទáŸâ€‹\n"
@@ -1397,9 +1426,9 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-#, fuzzy
-msgid "Username Port From Latest"
-msgstr "ឈ្មោះ​អ្នក​ប្រើ ច្រក ពី ចុង​ក្រោយ​បំផុáž\n"
+#, fuzzy, c-format
+msgid "Username Port From%*sLatest\n"
+msgstr "ឈ្មោះ​អ្នក​ប្រើ ច្រក ចុង​ក្រោយ​បំផុážâ€‹\n"
#, fuzzy
msgid "Username Port Latest"
@@ -1682,6 +1711,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ មិន​អាច​ធ្វើ​ឲ្យ​ពាក្យ​សម្ងាážáŸ‹â€‹áž‘ាន់សមáŸáž™â€‹áž”ានឡើយ​\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ mkdir បានបរាជáŸáž™â€‹\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ mkdir បានបរាជáŸáž™â€‹\n"
@@ -2016,6 +2049,14 @@ msgstr ""
"(មិន​អើពើ​)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "អ្នកគ្មាន​ការ​អនុញ្ញាážáž²áŸ’យ​ចូល​ទៅ​កាន់​ su áž‘áŸâ€‹ %s\n"
@@ -2116,6 +2157,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s ៖ ក្រុម​ដែលបានបញ្ជាក់​ច្រើនពáŸáž€â€‹ (អážáž·â€‹ %d) ។\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: អស់​សážáž·â€‹áž€áŸ’នុង​ក្នុងការធ្វើឲ្យ​ក្រុមទាន់សមáŸáž™\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2252,15 +2297,36 @@ msgstr "%s ៖ មិន​អាច​សរសáŸážšâ€‹áž¯áž€ážŸáž¶ážšâ€‹áž–á
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ážáŸ’រឹមážáŸ’រូវ​ '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s ៖ មិន​​អាច​បង្កើážâ€‹ážážâ€‹ %s បានឡើយ\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s ៖ មិន​​អាច​បង្កើážâ€‹ážážâ€‹ %s បានឡើយ\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s ៖ មិនអាច​ធ្វើឲ្យ​ឯកសារ​ពាក្យ​សម្ងាážáŸ‹â€‹áž‘ាន់សមáŸáž™â€‹áž”ានទáŸ\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s ៖ មិន​​អាច​បង្កើážâ€‹ážážâ€‹ %s បានឡើយ\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s ៖ មិន​​អាច​បង្កើážâ€‹ážážâ€‹ %s បានឡើយ\n"
@@ -2302,10 +2368,18 @@ msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ chown បានបរាជáŸá
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ chown បានបរាជáŸáž™â€‹\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s ៖ បន្ទាážáŸ‹â€‹ %d ៖ chown បានបរាជáŸáž™â€‹\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "ការផ្លាស់​ប្ážáž¼ážšâ€‹áž–áŸážáŸŒáž˜áž¶áž“​ចាស់​សម្រាប់​ %s\n"
+
msgid "Creating mailbox file"
msgstr "កំពុង​បង្កើážâ€‹áž¯áž€ážŸáž¶ážšâ€‹áž”្រអប់​សំបុážáŸ’រ​"
@@ -2316,6 +2390,17 @@ msgstr "រក​ក្រុម​​ 'សំបុážáŸ’រ​' មិន​áž
msgid "Setting mailbox file permissions"
msgstr "ការកំណážáŸ‹â€‹ážŸáž·áž‘្ធ​លើ​ឯកសារ​ប្រអប់​សំបុážáŸ’រ​"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s ៖ អ្នក​ប្រើ​ %s មាន​រួច​ហើយ​\n"
@@ -2365,8 +2450,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2527,6 +2614,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s ៖ អ្នក​ប្រើ​ %s មាន​រួច​ហើយ​\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s ៖ កាលបរិច្ឆទ​មិន​ážáŸ’រឹមážáŸ’រូវ​ '%s'\n"
@@ -2710,6 +2801,10 @@ msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s  ៖ ážážâ€‹áž˜áž¼áž›ážŠáŸ’ឋាន​មិន​ážáŸ’រឹមážáŸ’រូវ​ '%s'\n"
#, fuzzy
+#~ msgid "Username Port From Latest"
+#~ msgstr "ឈ្មោះ​អ្នក​ប្រើ ច្រក ពី ចុង​ក្រោយ​បំផុáž\n"
+
+#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
#~ "Usage: vipw [options]\n"
diff --git a/po/ko.gmo b/po/ko.gmo
index f856dc2c..6aac715d 100644
--- a/po/ko.gmo
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index d4e150ed..c8b79d8f 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2009-04-19 21:32+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
@@ -532,6 +532,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: 디렉터리 %sì„(를) 만들 수 없습니다\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -540,6 +544,13 @@ msgstr ""
"ê¸°ë³¸ê°’ì¸ DESë¡œ 설정합니다.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s' 디렉터리로 ì´ë™í•  수 없습니다\n"
@@ -774,6 +785,10 @@ msgstr "집 전화번호"
msgid "Other"
msgstr "기타"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: 입력범위가 너무 ê¹ë‹ˆë‹¤\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ì•„ì´ë””를 루트로 바꿀 수는 없습니다.\n"
@@ -826,10 +841,6 @@ msgid "Changing the user information for %s\n"
msgstr "%sì˜ ì‚¬ìš©ìžì˜ 정보를 바꿉니다\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: 입력범위가 너무 ê¹ë‹ˆë‹¤\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -854,8 +865,8 @@ msgstr " -s, --sha-rounds SHA* 암호화 ì•Œê³ ë¦¬ì¦˜ì˜ SHA ë¼ìš
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr " -s, --sha-rounds SHA* 암호화 ì•Œê³ ë¦¬ì¦˜ì˜ SHA ë¼ìš´ë“œ 수\n"
#, c-format
@@ -1136,9 +1147,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "올바르지 ì•Šì€ ì‚¬ìš©ìž ì´ë¦„ '%s'\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s'ì€(는) 사용할 수 없는 그룹 ì´ë¦„입니다\n"
@@ -1244,6 +1263,13 @@ msgstr "%s: 그룹 ì´ë¦„ì´ ì‚¬ìš©ìž ì´ë¦„ê³¼ 맞지 않습니다\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: root만 -g/--group ì˜µì…˜ì„ ì“¸ 수 있습니다\n"
+#, fuzzy
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr " -s, --sha-rounds SHA* 암호화 ì•Œê³ ë¦¬ì¦˜ì˜ SHA ë¼ìš´ë“œ 수\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1294,6 +1320,10 @@ msgstr " -s, --sha-rounds SHA* 암호화 ì•Œê³ ë¦¬ì¦˜ì˜ SHA ë¼ìš
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s 옵션과 -r ì˜µì…˜ì„ ë™ì‹œì— 쓸 수 없습니다\n"
@@ -1399,8 +1429,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "사용ìžì´ë¦„ í¬íŠ¸ 어디서 최근정보"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "사용ìžì´ë¦„ í¬íŠ¸ 최근정보"
msgid "Username Port Latest"
msgstr "사용ìžì´ë¦„ í¬íŠ¸ 최근정보"
@@ -1681,6 +1713,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: %d번 줄: 암호를 ì—…ë°ì´íŠ¸ í•  수 없습니다\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: %d번 줄: 디렉터리 ë§Œë“¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: %d번 줄: 디렉터리 ë§Œë“¤ê¸°ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤\n"
@@ -2028,6 +2064,14 @@ msgstr ""
"(무시ë¨)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "su %sì„(를) 하ë„ë¡ ì¸ì¦ì´ ë˜ì§€ 않았습니다\n"
@@ -2124,6 +2168,11 @@ msgstr "%s: '%s' ê·¸ë£¹ì€ NIS 그룹입니다.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: ê·¸ë£¹ì´ ë„ˆë¬´ ë§Žì´ ëª…ì‹œë˜ì—ˆìŠµë‹ˆë‹¤ (최대 %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: 메모리가 부족합니다. %sì„(를) ì—…ë°ì´íŠ¸í•  수 없습니다.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2266,16 +2315,43 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: 쓸 수 없는 ì‚¬ìš©ìž ì´ë¦„ '%s'\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: UID %luë²ˆì˜ ë¡œê·¸ì¸ ì‹¤íŒ¨ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
"%s: UID %luë²ˆì˜ ë¡œê·¸ì¸ ì‹¤íŒ¨ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: UID %luë²ˆì˜ ë¡œê·¸ì¸ ì‹¤íŒ¨ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: UID %luë²ˆì˜ ìµœê·¼ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: UID %luë²ˆì˜ ìµœê·¼ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: UID %luë²ˆì˜ ìµœê·¼ ê¸°ë¡ í•­ëª©ì„ ì´ˆê¸°í™”í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2319,10 +2395,18 @@ msgstr "%s: %d번 줄: chown 실패했습니다\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: %d번 줄: chown 실패했습니다\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: %d번 줄: chown 실패했습니다\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%sì˜ ì‚¬ìš©ê¸°í•œ 정보를 바꿉니다\n"
+
msgid "Creating mailbox file"
msgstr "ë©”ì¼í•¨ 파ì¼ì„ 만드는 중"
@@ -2334,6 +2418,17 @@ msgid "Setting mailbox file permissions"
msgstr "ë©”ì¼í•¨ì˜ íŒŒì¼ ê¶Œí•œì„ ì„¤ì • 중"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: '%s' 사용ìžê°€ ì´ë¯¸ 있습니다\n"
@@ -2385,8 +2480,10 @@ msgstr ""
#, fuzzy
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr " -s, --sha-rounds SHA* 암호화 ì•Œê³ ë¦¬ì¦˜ì˜ SHA ë¼ìš´ë“œ 수\n"
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2555,6 +2652,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: '%s' 사용ìžê°€ ì´ë¯¸ %s ì•ˆì— ìžˆìŠµë‹ˆë‹¤\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: 날짜 '%s'ì€(는) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n"
@@ -2741,6 +2842,9 @@ msgstr "%s: %sì„(를) 복구할 수 없습니다: %s (ë°”ë€ ì‚¬í•­ì€ %sì— ìž
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: 기본 디렉터리 '%s' 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "사용ìžì´ë¦„ í¬íŠ¸ 어디서 최근정보"
+
#~ msgid "malloc(%d) failed\n"
#~ msgstr "malloc(%d)ì— ì‹¤íŒ¨\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index dd5a5912..7d2fe0fa 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 9d679f53..bfd91737 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2018-03-05 12:33+0100\n"
"Last-Translator: Ã…ka Sikrom <a4@hush.com>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -582,6 +582,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: klarte ikke å utføre chroot med %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -590,6 +594,13 @@ msgstr ""
"Faller tilbake til DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Klarte ikke å bytte mappe til «%s»\n"
@@ -845,6 +856,10 @@ msgstr "Hjemmetelefon"
msgid "Other"
msgstr "Annet"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: feltene er for lange\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Klarte ikke å endre ID til root.\n"
@@ -899,10 +914,6 @@ msgid "Changing the user information for %s\n"
msgstr "Endrer brukerinformasjon for %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: feltene er for lange\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -933,8 +944,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds antall SHA-runder for kryptering med SHA*\n"
@@ -1260,9 +1271,19 @@ msgstr " -r, --system lag en systemkonto\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_MAPPE mappe som skal brukes til chroot\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list vis gruppemedlemmer\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ugyldig brukernavn «%s»\n"
+
# , c-format
#, c-format
msgid "%s: '%s' is not a valid group name\n"
@@ -1387,6 +1408,23 @@ msgstr "%s: gruppenavnet samsvarer ikke med brukernavnet ditt\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: bare root kan bruke valget -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append legg til brukeren i de ekstra gruppene "
+"listet i \n"
+" valget -G option uten å fjerne ham/henne\n"
+" fra andre grupper\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID endre gruppe-ID til GID\n"
@@ -1448,6 +1486,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort sorter oppføringer etter UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s og -r passer ikke sammen\n"
@@ -1565,8 +1607,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr " -u, --user LOGIN skriv ut lastlog for valgt LOGIN\n"
-msgid "Username Port From Latest"
-msgstr "Brukernavn Port Fra Sist"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Brukernavn Port Sist"
msgid "Username Port Latest"
msgstr "Brukernavn Port Sist"
@@ -1862,6 +1906,11 @@ msgstr "%s: linje %d: bruker «%s» finnes ikke i %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: linje %d: klarte ikke å oppdatere passord\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linje %d: mkdir %s mislyktes: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linje %d: mkdir %s mislyktes: %s\n"
@@ -2238,6 +2287,14 @@ msgstr ""
"(Ignorert)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Du har ikke adgang til å utføre su %s\n"
@@ -2336,6 +2393,12 @@ msgstr "%s: gruppe «%s» er en NIS-gruppe.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: for mange grupper (maks %d).\n"
+# , c-format
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Minner er fullt. Klarte ikke å oppdatere %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2500,15 +2563,40 @@ msgstr "%s: Du kan ikke kombinere valgene «-C» og «-S»\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z krever kjerne som har SELinux slått på\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ugyldig brukernavn «%s»\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: klarte ikke nullstille faillog-oppføring for UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: klarte ikke nullstille faillog-oppføring for UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: klarte ikke nullstille faillog-oppføring for UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: klarte ikke nullstille lastlog-oppføring for UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: klarte ikke nullstille lastlog-oppføring for UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: klarte ikke nullstille lastlog-oppføring for UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: klarte ikke nullstille faillog-oppføring for UID %lu: %s\n"
@@ -2556,10 +2644,20 @@ msgstr "%s: linje %d: chown %s mislyktes: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linje %d: chown %s mislyktes: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linje %d: chown %s mislyktes: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Klarte ikke å lage SELinux-brukerkobling for %s\n"
+
msgid "Creating mailbox file"
msgstr "Lager e-postkassefil"
@@ -2570,6 +2668,17 @@ msgstr "Fant ikke gruppa «mail». Oppretter e-postkassefil med modus 0600.\n"
msgid "Setting mailbox file permissions"
msgstr "Endrer rettigheter for e-postkassefil"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
# , c-format
#, c-format
msgid "%s: user '%s' already exists\n"
@@ -2627,9 +2736,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: advarsel: klarte ikke å avbilde brukernavn %s til %s SELinux-bruker.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force fjern filer «med makt»,\n"
" selv om brukeren ikke eier dem\n"
@@ -2825,6 +2940,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: bruker «%s» finnes fra før i %s\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: underordnet uid-rekkevidde «%s» er ugyldig\n"
@@ -3014,6 +3133,9 @@ msgstr "%s: klarte ikke å gjenopprette %s: %s (endringer ligger i %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: fant ikke tcb-mappe for %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Brukernavn Port Fra Sist"
+
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
#~ "Usage: vipw [options]\n"
diff --git a/po/ne.gmo b/po/ne.gmo
index f6b65df5..7bac3eb8 100644
--- a/po/ne.gmo
+++ b/po/ne.gmo
Binary files differ
diff --git a/po/ne.po b/po/ne.po
index f4c84364..121597dc 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2006-06-16 14:30+0545\n"
"Last-Translator: Shiva Pokharel <pokharelshiva@hotmail.com>\n"
"Language-Team: Nepali <info@mpp.org.np>\n"
@@ -533,12 +533,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: डाइरेकटà¥à¤°à¥€ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिà¤à¤¨ %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s' मा सि डि गरà¥à¤¨ असफल\n"
@@ -771,6 +782,10 @@ msgstr "गृह फोन"
msgid "Other"
msgstr "अनà¥à¤¯"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: अति लामो फाà¤à¤Ÿ\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ID लाई मूलमा परिवरà¥à¤¤à¤¨ गरà¥à¤¨ सकिदैन ।\n"
@@ -822,10 +837,6 @@ msgstr "%s: '%s' यो गà¥à¤°à¤¾à¤¹à¤•à¤•à¥‹ लागि NIS मासà¥à¤
msgid "Changing the user information for %s\n"
msgstr " %s को लागि पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ सूचना परिवरà¥à¤¤à¤¨ गरिदैछ\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: अति लामो फाà¤à¤Ÿ\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -846,8 +857,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1122,10 +1133,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "अवैध पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s वैध समूह नाम होइन\n"
@@ -1229,6 +1248,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1278,6 +1303,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s र -r मिलà¥à¤¦à¥‹à¤œà¥à¤²à¥à¤¦à¥‹ छैन\n"
@@ -1383,8 +1412,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "सबै भनà¥à¤¦à¤¾ पछिलà¥à¤²à¥‹ बाट पोरà¥à¤Ÿ पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "सबैभनà¥à¤¦à¤¾ पछिलà¥à¤²à¥‹ पोरà¥à¤Ÿ पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम"
msgid "Username Port Latest"
msgstr "सबैभनà¥à¤¦à¤¾ पछिलà¥à¤²à¥‹ पोरà¥à¤Ÿ पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम"
@@ -1664,6 +1695,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: रेखा %d: पासवरà¥à¤¡ अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨ सकिà¤à¤¨\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: रेखा %d: mkdir असफल भयो\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: रेखा %d: mkdir असफल भयो\n"
@@ -1993,6 +2028,14 @@ msgstr ""
"(उपेकà¥à¤·à¤¾ गरियो)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "तपाईठsu %s मा पà¥à¤°à¤®à¤¾à¤£à¤¿à¤•à¤°à¤£ हà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤¨\n"
@@ -2090,6 +2133,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: अति धेरै समूहरू निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरिà¤à¤•à¥‹ छ (max %d) ।\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: update_group मा सà¥à¤®à¥ƒà¤¤à¤¿ भनà¥à¤¦à¤¾ बाहिर\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2226,15 +2273,36 @@ msgstr "%s: पासवरà¥à¤¡ फाइल पà¥à¤¨:लेखन गरà¥à
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: अवैध पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: डाइरेकटà¥à¤°à¥€ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिà¤à¤¨ %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: डाइरेकटà¥à¤°à¥€ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिà¤à¤¨ %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: पासवरà¥à¤¡ फाइल अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨ सकिà¤à¤¨\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: डाइरेकटà¥à¤°à¥€ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिà¤à¤¨ %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: डाइरेकटà¥à¤°à¥€ सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¨ सकिà¤à¤¨ %s\n"
@@ -2276,10 +2344,18 @@ msgstr "%s: रेखा %d: chown असफल भयो\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: रेखा %d: chown असफल भयो\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: रेखा %d: chown असफल भयो\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s का लागि अवधि सूचना परिवरà¥à¤¤à¤¨ गरिदैछ\n"
+
msgid "Creating mailbox file"
msgstr "मेल बाकस फाइल सिरà¥à¤œà¤¨à¤¾ गरà¥à¤¦à¥ˆ"
@@ -2290,6 +2366,17 @@ msgstr "समूह मेल फेला परेन । ०६०० मो
msgid "Setting mailbox file permissions"
msgstr "मेल बाकस फाइल अनà¥à¤®à¤¤à¤¿à¤¹à¤°à¥‚ मिलाउदै"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ %s अवसà¥à¤¥à¤¿à¤¤ छ\n"
@@ -2341,8 +2428,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2503,6 +2592,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ %s अवसà¥à¤¥à¤¿à¤¤ छ\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: अवैध मिति '%s'\n"
@@ -2685,6 +2778,9 @@ msgstr "%s: पà¥à¤¨:भणà¥à¤¡à¤¾à¤°à¤£ गरà¥à¤¨ सकिदैन %s:
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: अवैध डाइरेकà¥à¤Ÿà¥à¤°à¥€ '%s'\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "सबै भनà¥à¤¦à¤¾ पछिलà¥à¤²à¥‹ बाट पोरà¥à¤Ÿ पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ नाम"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 966449b6..74c77dfb 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 824991b1..13af4276 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,21 +1,21 @@
# dutch po-file for shadow
# Copyright (C) 2004 Free Software Foundation, Inc.
# Bart Cornelis <cobaco@linux.be>, 2004, 2006.
-# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2014-2019.
+# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2014-2020.
#
msgid ""
msgstr ""
-"Project-Id-Version: shadow_1_4.8\n"
+"Project-Id-Version: shadow_1_4.8.1-1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
-"PO-Revision-Date: 2019-12-23 23:33+0100\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
+"PO-Revision-Date: 2020-05-24 15:20+0200\n"
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Gtranslator 3.30.1\n"
+"X-Generator: Poedit 2.2.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
@@ -558,6 +558,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: chroot naar map %s lukt niet: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -566,6 +570,13 @@ msgstr ""
"Terugvallen op standaard DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Kan niet van map veranderen (cd) naar '%s'\n"
@@ -824,6 +835,10 @@ msgstr "Telefoon thuis"
msgid "Other"
msgstr "Varia"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: velden zijn te lang\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Kan ID niet veranderen naar root.\n"
@@ -876,10 +891,6 @@ msgid "Changing the user information for %s\n"
msgstr "De gebruikersinformatie over %s wordt veranderd\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: velden zijn te lang\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -904,9 +915,13 @@ msgstr ""
" -m, --md5 het wachtwoord in klare tekst\n"
" met het MD5-algoritme versleutelen\n"
+#, fuzzy
+#| msgid ""
+#| " -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
+#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds aantal rondes voor de SHA of BCRYPT\n"
" encryptie-algoritmes\n"
@@ -1222,9 +1237,21 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system een systeem-account aanmaken\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+#, fuzzy
+#| msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -P, --prefix PREFIX_MAP map-prefix\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list de leden van de groep weergeven\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ongeldige gebruikersnaam '%s'\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' is geen geldige groepsnaam\n"
@@ -1340,6 +1367,23 @@ msgstr "%s: uw groepsnaam komt niet overeen met uw gebruikersnaam\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: enkel de systeembeheerder kan de optie -g/--group gebruiken\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append gebruiker toevoegen aan de bijkomende "
+"GROEPEN,\n"
+" vermeld bij de optie -G, zonder hem/haar\n"
+" te verwijderen uit andere groepen\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID het groeps-ID naar GID veranderen\n"
@@ -1402,6 +1446,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort elementen volgens UID sorteren\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s en -r zijn niet compatibel\n"
@@ -1517,8 +1565,10 @@ msgid ""
msgstr ""
" -u, --user GEBRUIKER lastlog-informatie over GEBRUIKER tonen\n"
-msgid "Username Port From Latest"
-msgstr "Gebruikersnaam Poort Vanaf Laatste"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Gebruikersnaam Poort Laatste"
msgid "Username Port Latest"
msgstr "Gebruikersnaam Poort Laatste"
@@ -1811,6 +1861,11 @@ msgstr "%s: regel %d: gebruiker '%s' bestaat niet in %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: regel %d: kan wachtwoord niet bijwerken\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: regel %d: mkdir %s is mislukt: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: regel %d: mkdir %s is mislukt: %s\n"
@@ -2180,6 +2235,14 @@ msgstr ""
"(Genegeerd)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "U bent niet gerechtigd om 'su %s' uit te voeren\n"
@@ -2275,6 +2338,11 @@ msgstr "%s: groep '%s' is een NIS-groep.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: te veel groepen gespecificeerd (max %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: onvoldoende geheugen. Kan %s niet bijwerken.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2437,10 +2505,9 @@ msgstr "%s: ongeldig veld '%s'\n"
msgid "%s: invalid shell '%s'\n"
msgstr "%s: ongeldige shell '%s'\n"
-#, fuzzy, c-format
-#| msgid "%s: Warning: %s is not executable\n"
+#, c-format
msgid "%s: Warning: missing or non-executable shell '%s'\n"
-msgstr "%s: waarschuwing: %s is niet uitvoerbaar\n"
+msgstr "%s: waarschuwing: ontbrekende of niet-uitvoerbare shell '%s'\n"
#, c-format
msgid "%s: -Z cannot be used with --prefix\n"
@@ -2450,16 +2517,45 @@ msgstr "%s: -Z kan niet gebruikt worden met --prefix\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z vereist dat SELinux geactiveerd is in de kernel\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ongeldige gebruikersnaam '%s'\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: opnieuw instellen van het faillog-item voor UID %lu is mislukt: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
"%s: opnieuw instellen van het faillog-item voor UID %lu is mislukt: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: opnieuw instellen van het faillog-item voor UID %lu is mislukt: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr ""
+"%s: opnieuw instellen van de lastlog-item voor UID %lu is mislukt: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
"%s: opnieuw instellen van de lastlog-item voor UID %lu is mislukt: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr ""
+"%s: opnieuw instellen van de lastlog-item voor UID %lu is mislukt: %s\n"
+
#, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2502,10 +2598,20 @@ msgstr "%s: waarschuwing: chown uitvoeren op `%s' is mislukt: %m\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: waarschuwing: chmod uitvoeren op `%s' is mislukt: %m\n"
+#, fuzzy, c-format
+#| msgid "%s: warning: chown on `%s' failed: %m\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: waarschuwing: chown uitvoeren op `%s' is mislukt: %m\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr "%s: kan SELinux-context voor bestandscreatie niet opnieuw instellen\n"
+#, fuzzy, c-format
+#| msgid "%s: cannot set SELinux context for home directory %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s: kan SELinux-context voor persoonlijke map %s niet instellen\n"
+
msgid "Creating mailbox file"
msgstr "Postvak-bestand wordt aangemaakt"
@@ -2519,6 +2625,17 @@ msgid "Setting mailbox file permissions"
msgstr "Bestandsrechten van postvak-bestand worden ingesteld"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: gebruiker '%s' bestaat al\n"
@@ -2567,9 +2684,15 @@ msgstr ""
"%s: waarschuwing: de koppeling van gebruikersnaam %s aan SELinux-gebruiker "
"%s is mislukt.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force geforceerde verwijdering van bestanden,\n"
" ook als ze geen eigendom van gebruiker zijn\n"
@@ -2770,6 +2893,11 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: gebruiker '%s' bestaat al in %s\n"
+#, fuzzy, c-format
+#| msgid "%s: home directory \"%s\" must be mounted on BTRFS\n"
+msgid "%s: homedir must be an absolute path\n"
+msgstr "%s: persoonlijke map \"%s\" moet aangekoppeld zijn op BTRFS\n"
+
#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: ongeldig bereik '%s' van ondergeschikte UID's\n"
@@ -2955,3 +3083,6 @@ msgstr "%s: kan %s niet herstellen: %s (uw aanpassingen staan in %s)\n"
#, c-format
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: tcb-map van %s vinden is mislukt\n"
+
+#~ msgid "Username Port From Latest"
+#~ msgstr "Gebruikersnaam Poort Vanaf Laatste"
diff --git a/po/nn.gmo b/po/nn.gmo
index a65054c4..796e6c32 100644
--- a/po/nn.gmo
+++ b/po/nn.gmo
Binary files differ
diff --git a/po/nn.po b/po/nn.po
index 592aa809..aabedeb1 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2004-06-03 21:41+0200\n"
"Last-Translator: HÃ¥vard Korsvoll <korsvoll@skulelinux.no>\n"
"Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -527,11 +527,22 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: kan ikkje oppretta mappa %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
+#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Klarer ikkje cd til «%s»\n"
@@ -771,6 +782,10 @@ msgstr "Telefon, heime"
msgid "Other"
msgstr "Anna"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: felta er for lange\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Klarer ikkje endra ID til root.\n"
@@ -822,10 +837,6 @@ msgstr "%s: «%s» er NIS-hovud for denne klienten.\n"
msgid "Changing the user information for %s\n"
msgstr "Endrar brukarinformasjon for %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: felta er for lange\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -846,8 +857,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1122,10 +1133,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ugyldig brukarnamn «%s»\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s er ikkje eit gyldig gruppenamn\n"
@@ -1229,6 +1248,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1278,6 +1303,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s og -r er inkompatible\n"
@@ -1383,8 +1412,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Brukarnamn Port Frå Siste"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Brukarnamn Port Siste"
msgid "Username Port Latest"
msgstr "Brukarnamn Port Siste"
@@ -1665,6 +1696,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: linje %d: klarer ikkje oppdatere passord\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linje %d: mkdir feila\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linje %d: mkdir feila\n"
@@ -1981,6 +2016,14 @@ msgstr ""
"(Ignorert)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Du er ikkje autorisert til su %s\n"
@@ -2078,6 +2121,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: for mange grupper spesifisert (maks %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: slapp opp for minne i update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2214,15 +2261,36 @@ msgstr "%s: klarer ikkje skriva ny passordfil\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ugyldig brukarnamn «%s»\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: kan ikkje oppretta mappa %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: kan ikkje oppretta mappa %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: klarer ikkje oppdatere passordfil\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: kan ikkje oppretta mappa %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: kan ikkje oppretta mappa %s\n"
@@ -2264,10 +2332,18 @@ msgstr "%s: linje %d: chown feila\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linje %d: chown feila\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linje %d: chown feila\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Endrar aldringsformasjonen for %s\n"
+
msgid "Creating mailbox file"
msgstr ""
@@ -2278,6 +2354,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: brukar %s finst\n"
@@ -2324,8 +2411,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2487,6 +2576,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: brukar %s finst\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: ugyldig dato «%s»\n"
@@ -2668,6 +2761,9 @@ msgstr "%s: klarer ikkje gjenoppretta %s: %s (endringane dine er i %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: ugyldig startmappe «%s»\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Brukarnamn Port Frå Siste"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/pl.gmo b/po/pl.gmo
index c4338328..1ea151c9 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 63192333..348f5d5a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-25 20:53+0100\n"
"Last-Translator: Tomasz KÅ‚oczko <kloczek@pld.org.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -537,12 +537,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: nie można utworzyć katalogu %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Nie można zmienić katalogu na '%s'\n"
@@ -775,6 +786,10 @@ msgstr "Telefon domowy"
msgid "Other"
msgstr "Inne"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: pola zbyt długie\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Nie można zmienić ID na root.\n"
@@ -826,10 +841,6 @@ msgstr "%s: '%s' jest nadrzędnym serwerem NIS dla tego klienta.\n"
msgid "Changing the user information for %s\n"
msgstr "Zmieniam informację o użytkowniku %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: pola zbyt długie\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -850,8 +861,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1126,10 +1137,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nieprawidłowa nazwa użytkownika '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s: nie jest prawidłową nazwą grupy\n"
@@ -1233,6 +1252,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1282,6 +1307,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s i -r sÄ… niekompatybilne\n"
@@ -1389,8 +1418,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Użytkownik Port Z Ostatnio"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Użytkownik Port Ostatnio"
msgid "Username Port Latest"
msgstr "Użytkownik Port Ostatnio"
@@ -1669,6 +1700,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: linia %d: nie można zaktualizować pliku z hasłami\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linia %d: mkdir nie powiodło się\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linia %d: mkdir nie powiodło się\n"
@@ -2009,6 +2044,14 @@ msgstr ""
"(Zignorowano)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Nie masz autoryzacji by używać su %s\n"
@@ -2106,6 +2149,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: podano zbyt wiele grup (maks %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: zabrakło pamięci w update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2242,15 +2289,36 @@ msgstr "%s: nie można przepisać pliku z hasłami\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: nie można utworzyć katalogu %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: nie można utworzyć katalogu %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: nie można zaktualizować pliku z hasłami\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: nie można utworzyć katalogu %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: nie można utworzyć katalogu %s\n"
@@ -2292,10 +2360,18 @@ msgstr "%s: linia %d: chown nie powiodło się\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linia %d: chown nie powiodło się\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linia %d: chown nie powiodło się\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Zmieniam informację o użytkowniku %s\n"
+
msgid "Creating mailbox file"
msgstr "Tworzenie pliku mailbox"
@@ -2308,6 +2384,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Ustawianie praw dostępu do pliku mailbox"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: użytkownik %s istnieje\n"
@@ -2358,8 +2445,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2523,6 +2612,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: użytkownik %s istnieje\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: nieprawidłowa data '%s'\n"
@@ -2706,6 +2799,9 @@ msgstr "%s: nie można odzyskać %s: %s (twoje zmiany są w %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: nieprawidłowy katalog bazowy '%s'\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Użytkownik Port Z Ostatnio"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/pt.gmo b/po/pt.gmo
index 21cc134c..64290cef 100644
--- a/po/pt.gmo
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
index ffc9cf1d..2a955044 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2012-01-14 12:41+0000\n"
"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -570,6 +570,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: não foi possível fazer chroot para o directório %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -578,6 +582,13 @@ msgstr ""
"A utilizar o valor predefinido DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Não foi possível mudar para o directório '%s'\n"
@@ -839,6 +850,10 @@ msgstr "Telefone de Casa"
msgid "Other"
msgstr "Outra Informação"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: valores demasiado grandes\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Não é possível alterar o ID para root.\n"
@@ -891,10 +906,6 @@ msgid "Changing the user information for %s\n"
msgstr "A alterar a informação de utilizador de %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: valores demasiado grandes\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -925,8 +936,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds número de iterações SHA para algoritmos\n"
" de encriptação SHA*\n"
@@ -1238,9 +1249,19 @@ msgstr " -r, --system criar uma conta de sistema\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_DIR\t\tdirectório para onde fazer chroot\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list listar os membros do grupo\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "o nome de utilizador '%s' é inválido\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' não é um nome válido para o grupo\n"
@@ -1355,6 +1376,22 @@ msgstr "%s: o seu nome de grupo não coincide com o seu nome de utilizador\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: apenas o root pode utilizar a opção -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append juntar o utilizador aos GRUPOS\n"
+" suplementares mencionados pela opção -G\n"
+" sem o/a remover dos outros grupos\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID mudar o ID do grupo para GID\n"
@@ -1417,6 +1454,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort\t\t\tordenar entradas por UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s e -r são incompatíveis\n"
@@ -1536,8 +1577,10 @@ msgstr ""
" -u, --user LOGIN mostra o registo de lastlog para o\n"
" utilizador LOGIN\n"
-msgid "Username Port From Latest"
-msgstr "Utilizador Porto De Último"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Utilizador Porto Último"
msgid "Username Port Latest"
msgstr "Utilizador Porto Último"
@@ -1822,6 +1865,11 @@ msgstr "%s: linha %d: o utilizador '%s' não existe em %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: linha %d: não é possível actualizar a palavra-passe\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linha %d: mkdir %s falhou: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linha %d: mkdir %s falhou: %s\n"
@@ -2203,6 +2251,14 @@ msgstr ""
"(Ignorado)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Não está autorizado a fazer su %s\n"
@@ -2302,6 +2358,11 @@ msgstr "%s: o grupo '%s' é um grupo NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: estão especificados demasiados grupos (max %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Memória esgotada. Não é possível actualizar %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2468,15 +2529,40 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z necessita de um kernel com SELinux activo\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: o nome de utilizador '%s' é inválido\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: falhou apagar o registo faillog para o UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: falhou apagar o registo faillog para o UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: falhou apagar o registo faillog para o UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: falhou apagar o registo lastlog para o UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: falhou apagar o registo lastlog para o UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: falhou apagar o registo lastlog para o UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: falhou apagar o registo faillog para o UID %lu: %s\n"
@@ -2523,10 +2609,20 @@ msgstr "%s: linha %d: chown %s falhou: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linha %d: chown %s falhou: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linha %d: chown %s falhou: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Não foi possível criar mapeamento de login SELinux para %s\n"
+
msgid "Creating mailbox file"
msgstr "Criar ficheiro mailbox"
@@ -2540,6 +2636,17 @@ msgid "Setting mailbox file permissions"
msgstr "A definir as permissões do ficheiro mailbox"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: o utilizador '%s' já existe\n"
@@ -2591,9 +2698,15 @@ msgstr ""
"%s: aviso: falhou o mapeamento do nome de utilizador %s para o nome de "
"utilizador SELinux %s.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force forçar a remoção de ficheiros,\n"
" mesmo que não pertençam ao utilizador\n"
@@ -2791,6 +2904,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: o utilizador %s já existe em %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: a data '%s' é inválida\n"
@@ -2975,6 +3092,9 @@ msgstr "%s: não é possível restaurar %s: %s (a suas alterações estão em %s
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: falhou encontrar o directório tcb para %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Utilizador Porto De Último"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr ""
#~ " -c, --crypt-method o método de encriptação (um de %s)\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 4ec834fe..cc26e66c 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 451f4a03..a1ec5b6b 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.15\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2011-11-25 20:20+0100\n"
"Last-Translator: Fred Ulisses Maranhão <fred.maranhao@gmail.com>\n"
"Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -559,6 +559,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: Falha ao criar diretório tcb para %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -567,6 +571,13 @@ msgstr ""
"falta de DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Não consegui ir para o diretório '%s'\n"
@@ -823,6 +834,10 @@ msgstr "Fone Residencial"
msgid "Other"
msgstr "Outro"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s : campos muito extensos\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Não foi possível mudar o ID para root.\n"
@@ -875,10 +890,6 @@ msgid "Changing the user information for %s\n"
msgstr "Modificando as informações de usuário para %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s : campos muito extensos\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -907,8 +918,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
"-s, --sha-rounds Números de SHA rodadas para a SHA *\n"
" algoritmos criptografados\n"
@@ -1214,9 +1225,19 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system cria uma conta de sistema\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list lista os membros do grupo\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nome de usuário '%s' inválido\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' não é um nome de grupo válido\n"
@@ -1330,6 +1351,23 @@ msgstr "%s: seu nome de grupo não casa com seu nome de usuário\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: apenas o root pode usar a opção -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append anexa o usuário para os GRUPOS "
+"suplementares\n"
+" mencionados pela opção -G sem remove-lo de\n"
+" outros grupos\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID muda o ID do grupo para GID\n"
@@ -1388,6 +1426,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s e -r são incompatíveis\n"
@@ -1507,8 +1549,10 @@ msgstr ""
" -u, --user LOGIN imprime registro lastlog para usuário com\n"
" LOGIN especificado\n"
-msgid "Username Port From Latest"
-msgstr "Nome de Usuário Porta De Último"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Nome de Usuário Porta Último"
msgid "Username Port Latest"
msgstr "Nome de Usuário Porta Último"
@@ -1794,6 +1838,11 @@ msgstr "%s: linha %d: usuário '%s' não existe em %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s : linha %d : não foi possível atualizar a senha\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linha %d: mkdir %s falhou: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linha %d: mkdir %s falhou: %s\n"
@@ -2168,6 +2217,14 @@ msgstr ""
"(Ignorado)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Você não está autorizado a usar o su para %s\n"
@@ -2264,6 +2321,11 @@ msgstr "%s: grupo '%s' é um grupo NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: muitos grupos especificados (máximo %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Sem memória. Não pode atualizar %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2434,15 +2496,40 @@ msgstr "%s : não foi possível reescrever arquivo de senhas\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z precisa de um núcleo com o SELinux habilitado\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s : nome de usuário '%s' inválido\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: falha ao zerar a entrada do faillog de UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: falha ao zerar a entrada do faillog de UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: falha ao zerar a entrada do faillog de UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: falha ao zerar a entrada do lastlog do UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: falha ao zerar a entrada do lastlog do UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: falha ao zerar a entrada do lastlog do UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: falha ao zerar a entrada do faillog de UID %lu: %s\n"
@@ -2489,10 +2576,19 @@ msgstr "%s: linha %d: chown %s falhou: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linha %d: chown %s falhou: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linha %d: chown %s falhou: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Mudando a informação de idade para %s\n"
+
msgid "Creating mailbox file"
msgstr "Criando caixa-postal"
@@ -2506,6 +2602,17 @@ msgid "Setting mailbox file permissions"
msgstr "Configurando caixa-postal arquivos de permissao"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: usuário '%s' já existe\n"
@@ -2557,9 +2664,15 @@ msgstr ""
"%s: atenção: o relacionamento do nome de usuário %s para o usuário SELinux "
"%s falhou.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force força remoção dos arquivos,\n"
" mesmo se não forem do usuário\n"
@@ -2753,6 +2866,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: usuário '%s' já existe em %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: data `%s' inválida\n"
@@ -2932,6 +3049,9 @@ msgstr "%s : não foi possível restaurar %s : %s (suas mudanças estão em %s)\
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: falha ao procurar o diretório tcb para %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Nome de Usuário Porta De Último"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr ""
#~ " -c, --crypt-method o método de criptografia (dentre %s)\n"
diff --git a/po/ro.gmo b/po/ro.gmo
index e2474ed1..a362783a 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 6929d4b8..5438ebd0 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-26 18:18+0100\n"
"Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
@@ -533,12 +533,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: nu pot crea directorul %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Nu pot schimba directorul către'%s'\n"
@@ -771,6 +782,10 @@ msgstr "Telefon acasă"
msgid "Other"
msgstr "Altele"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: câmpuri prea lungi\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Nu pot schimba identificatorul la root.\n"
@@ -822,10 +837,6 @@ msgstr "%s: '%s' este stăpânul NIS pentru acest client.\n"
msgid "Changing the user information for %s\n"
msgstr "Modificare informaţii utilizator pentru %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: câmpuri prea lungi\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -846,8 +857,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1122,10 +1133,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "nume de utilizator nevalid '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s nu este un nume de grup valid\n"
@@ -1229,6 +1248,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1278,6 +1303,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s ÅŸi -r sunt incompatibile\n"
@@ -1383,8 +1412,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Nume utilizator Port De la Cel mai recent"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Nume utilizator Port Cel mai recent"
msgid "Username Port Latest"
msgstr "Nume utilizator Port Cel mai recent"
@@ -1664,6 +1695,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: linia %d: nu pot actualiza parola\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linia %d: eÅŸuare mkdir\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linia %d: eÅŸuare mkdir\n"
@@ -1994,6 +2029,14 @@ msgstr ""
"(Ignorat)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Nu sunteţi autorizat pentru su %s\n"
@@ -2091,6 +2134,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: prea multe grupuri specificate (maximum %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: nu mai este memorie pentru update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2227,15 +2274,36 @@ msgstr "%s: nu pot rescrie fiÅŸierul passwd\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: nume utilizator nevalid '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: nu pot crea directorul %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: nu pot crea directorul %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: nu pot actualiza fiÅŸierul passwd\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: nu pot crea directorul %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: nu pot crea directorul %s\n"
@@ -2277,10 +2345,18 @@ msgstr "%s: linia %d: eÅŸuare chown\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linia %d: eÅŸuare chown\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linia %d: eÅŸuare chown\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Modific informaţia de temporalitate pentru %s\n"
+
msgid "Creating mailbox file"
msgstr "Crearea fişierului căsuţă pentru mesaje"
@@ -2293,6 +2369,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Se atribuie permisiunile fişierului căsuţă de mesaje"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: utilizatorul %s există\n"
@@ -2344,8 +2431,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2509,6 +2598,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: utilizatorul %s există\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: dată nevalidă '%s'\n"
@@ -2692,6 +2785,9 @@ msgstr "%s: nu pot reface %s: %s (schimbările dvs. sunt în %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: director de bază nevalid '%s'\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Nume utilizator Port De la Cel mai recent"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/ru.gmo b/po/ru.gmo
index c0fb0dfd..9c9e7ee7 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 175edce7..141cab46 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.5.1-1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2017-03-05 11:14+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
@@ -574,6 +574,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: не удалоÑÑŒ выполнить chroot в каталог %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -582,6 +586,13 @@ msgstr ""
"ИÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ по умолчанию DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ðевозможно перейти в каталог «%s»\n"
@@ -843,6 +854,10 @@ msgstr "Домашний телефон"
msgid "Other"
msgstr "Другое"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: Ð¿Ð¾Ð»Ñ Ñлишком длинные\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Ðе удалоÑÑŒ получить права ÑуперпользователÑ.\n"
@@ -895,10 +910,6 @@ msgid "Changing the user information for %s\n"
msgstr "Изменение информации о пользователе %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: Ð¿Ð¾Ð»Ñ Ñлишком длинные\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -927,8 +938,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds количеÑтво раундов SHA Ð´Ð»Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð¾Ð²\n"
" ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SHA*\n"
@@ -1248,10 +1259,20 @@ msgstr " -r, --system Ñоздавать ÑиÑтемную г
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
" -R, --root КÐТ_CHROOT каталог, в который выполнÑетÑÑ chroot\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list перечиÑлить вÑех членов группы\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "неверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Â«%s»\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: «%s» не может быть именем группы\n"
@@ -1365,6 +1386,22 @@ msgstr "%s: ваше имÑ_группы не Ñовпадает Ñ Ð²Ð°ÑˆÐ¸Ð¼ Ð
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: только Ñуперпользователь может иÑпользовать параметр -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append добавить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² дополнительные\n"
+" ГРУППЫ, указанные в параметре -G не удалÑÑ\n"
+" Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð· других групп\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID изменить ID группы на GID\n"
@@ -1425,6 +1462,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort Ñортировать запиÑи по UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s и -r не могут иÑпользоватьÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾\n"
@@ -1540,8 +1581,10 @@ msgstr ""
" -u, --user ИМЯ показать запиÑÑŒ lastlog Ð´Ð»Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ запиÑи "
"ИМЯ\n"
-msgid "Username Port From Latest"
-msgstr "Пользователь Порт С ПоÑледний раз"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Пользователь Порт ПоÑледний раз"
msgid "Username Port Latest"
msgstr "Пользователь Порт ПоÑледний раз"
@@ -1829,6 +1872,11 @@ msgstr "%s: Ñтрока %d: пользователь «%s» не ÑущеÑтв
msgid "%s: line %d: can't update password\n"
msgstr "%s: Ñтрока %d: не удалоÑÑŒ обновить пароль\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: Ñтрока %d: вызов mkdir %s завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: Ñтрока %d: вызов mkdir %s завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s\n"
@@ -2206,6 +2254,14 @@ msgstr ""
"(Игнорировано)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ прав на выполнение su %s\n"
@@ -2302,6 +2358,11 @@ msgstr "%s: группа «%s» ÑвлÑетÑÑ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: указано Ñлишком много групп (макÑимум %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: недоÑтаточно памÑти. Ðе удалоÑÑŒ обновить %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2481,15 +2542,40 @@ msgstr "%s: параметр -C Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вмеÑÑ‚
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: Ð´Ð»Ñ -Z в Ñдре требуетÑÑ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ SELinux\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: неверное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Â«%s»\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в faillog Ð´Ð»Ñ UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в faillog Ð´Ð»Ñ UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в faillog Ð´Ð»Ñ UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в lastlog Ð´Ð»Ñ UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в lastlog Ð´Ð»Ñ UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в lastlog Ð´Ð»Ñ UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: не удалоÑÑŒ ÑброÑить запиÑÑŒ в faillog Ð´Ð»Ñ UID %lu: %s\n"
@@ -2536,10 +2622,20 @@ msgstr "%s: Ñтрока %d: вызов chown %s завершилÑÑ Ð½ÐµÑƒÐ´Ð°
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: Ñтрока %d: вызов chown %s завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: Ñтрока %d: вызов chown %s завершилÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Ðевозможно Ñоздать ÑопоÑтавление входа SELinux Ð´Ð»Ñ %s\n"
+
msgid "Creating mailbox file"
msgstr "Создание почтового Ñщика"
@@ -2553,6 +2649,17 @@ msgid "Setting mailbox file permissions"
msgstr "УÑтановка прав на файл почтового Ñщика"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: пользователь «%s» уже ÑущеÑтвует\n"
@@ -2604,9 +2711,15 @@ msgstr ""
"%s: предупреждение: не удалоÑÑŒ ÑопоÑтавить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s Ñ "
"пользователем SELinux %s.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force удалÑÑ‚ÑŒ файлы, даже еÑли они\n"
" не принадлежат пользователю\n"
@@ -2801,6 +2914,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: пользователь «%s» уже ÑущеÑтвует в %s\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: некорректный диапазон подчинённых uid «%s»\n"
@@ -2989,6 +3106,9 @@ msgstr "%s: не удалоÑÑŒ воÑÑтановить %s: %s (ваши изм
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: не удалоÑÑŒ найти каталог tcb Ð´Ð»Ñ %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Пользователь Порт С ПоÑледний раз"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method алгоритм ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (один из: %s)\n"
diff --git a/po/shadow.pot b/po/shadow.pot
index c6a0abb8..5d656505 100644
--- a/po/shadow.pot
+++ b/po/shadow.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -520,12 +520,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr ""
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr ""
@@ -756,6 +767,10 @@ msgstr ""
msgid "Other"
msgstr ""
+#, c-format
+msgid "%s: fields too long\n"
+msgstr ""
+
msgid "Cannot change ID to root.\n"
msgstr ""
@@ -808,10 +823,6 @@ msgid "Changing the user information for %s\n"
msgstr ""
#, c-format
-msgid "%s: fields too long\n"
-msgstr ""
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -831,8 +842,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
@@ -1105,7 +1116,14 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, c-format
+msgid "Invalid member username %s\n"
msgstr ""
#, c-format
@@ -1212,6 +1230,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1261,6 +1285,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr ""
@@ -1366,7 +1394,8 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
+#, c-format
+msgid "Username Port From%*sLatest\n"
msgstr ""
msgid "Username Port Latest"
@@ -1632,6 +1661,10 @@ msgid "%s: line %d: can't update password\n"
msgstr ""
#, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr ""
@@ -1940,6 +1973,14 @@ msgid ""
msgstr ""
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr ""
@@ -2033,6 +2074,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr ""
#, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2169,14 +2214,34 @@ msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
#, c-format
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr ""
+
+#, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+
+#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
#, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr ""
+
+#, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr ""
+
+#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr ""
+
+#, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2217,9 +2282,17 @@ msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr ""
#, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr ""
+
+#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr ""
+
msgid "Creating mailbox file"
msgstr ""
@@ -2231,6 +2304,17 @@ msgid "Setting mailbox file permissions"
msgstr ""
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr ""
@@ -2274,8 +2358,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2436,6 +2522,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr ""
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr ""
diff --git a/po/sk.gmo b/po/sk.gmo
index f9dfa57d..c3102182 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index c9aa9149..27a0f671 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2011-11-26 22:06+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -538,6 +538,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: nedá sa vytvoriť adresár %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -546,6 +550,13 @@ msgstr ""
"Používa sa štandardná hodnota DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Aktuálny adresár sa nedá nastaviť na „%s“\n"
@@ -799,6 +810,10 @@ msgstr "Telefón domov"
msgid "Other"
msgstr "Ostatné"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: položka je príliš dlhá\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ID sa nedá zmeniť na root.\n"
@@ -851,10 +866,6 @@ msgid "Changing the user information for %s\n"
msgstr "Mením informácie o používateľovi %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: položka je príliš dlhá\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -883,8 +894,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds poÄet cyklov Å¡ifrovacích\n"
" algoritmov SHA*\n"
@@ -1183,9 +1194,19 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system vytvorí systémový úÄet\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list vypísaÅ¥ Älenov skupiny\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "chybné používateľské meno „%s“\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: „%s“ nie je platným názvom skupiny\n"
@@ -1299,6 +1320,18 @@ msgstr "%s: meno vašej skupiny sa nezhoduje s vašim používateľským menom\n
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: iba root môže používať voľbu -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -l, --no-log-init do not add the user to the lastlog and\n"
+#| " faillog databases\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -l, --no-log-init nepridávať používateľa do databáz\n"
+" lastlog a faillog \n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1354,6 +1387,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s a -r nie sú zluÄiteľné\n"
@@ -1465,8 +1502,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Používateľ Port Z Naposledy"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Používateľ Port Naposledy"
msgid "Username Port Latest"
msgstr "Používateľ Port Naposledy"
@@ -1748,6 +1787,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: riadok %d: heslo sa nedá aktualizovať\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: riadok %d: volanie mkdir zlyhalo\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: riadok %d: volanie mkdir zlyhalo\n"
@@ -2110,6 +2153,14 @@ msgstr ""
"(Ignorujem)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Nie ste oprávnení používať su %s\n"
@@ -2206,6 +2257,11 @@ msgstr "%s: skupina „%s“ je skupinou NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: bolo zadaných príliš veľa skupín (max %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Nedostatok pamäte. Nie je možné aktualizovať %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2354,15 +2410,40 @@ msgstr "%s: súbor s heslami sa nedá prepísať\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: chybné používateľské meno „%s“\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: Nepodarilo sa obnoviť položku faillog s UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: Nepodarilo sa obnoviť položku faillog s UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: Nepodarilo sa obnoviť položku faillog s UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: Nepodarilo sa obnoviť položku lastlog s UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: Nepodarilo sa obnoviť položku lastlog s UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: Nepodarilo sa obnoviť položku lastlog s UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: Nepodarilo sa obnoviť položku faillog s UID %lu: %s\n"
@@ -2405,10 +2486,18 @@ msgstr "%s: riadok %d: volanie chown zlyhalo\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: riadok %d: volanie chown zlyhalo\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: riadok %d: volanie chown zlyhalo\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Menia sa informácie vypršania platnosti pre používateľa %s\n"
+
msgid "Creating mailbox file"
msgstr "Vytvára sa súbor mailbox"
@@ -2422,6 +2511,17 @@ msgid "Setting mailbox file permissions"
msgstr "Nastavujú sa prístupové práva súboru mailbox"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: používateľ „%s“ už existuje\n"
@@ -2471,9 +2571,15 @@ msgstr ""
msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force vynúti odstránenie súborov, aj keÄ\n"
" používateľ nie je ich vlastníkom\n"
@@ -2661,6 +2767,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: používateľ %s už existuje v %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: chybný dátum „%s“\n"
@@ -2848,6 +2958,9 @@ msgstr "%s: %s sa nedá obnoviť: %s (zmeny sú v %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: chybný základný adresár „%s“\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Používateľ Port Z Naposledy"
+
#~ msgid ""
#~ "Usage: vipw [options]\n"
#~ "\n"
diff --git a/po/sq.po b/po/sq.po
index f821b671..4de23673 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.3\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2004-11-20 03:28+0100\n"
"Last-Translator: Elian Myftiu <pinguini AT fastwebnet DOT it>\n"
"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
@@ -522,12 +522,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "Kujdes: grup i panjohur %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr ""
@@ -759,6 +770,10 @@ msgstr ""
msgid "Other"
msgstr ""
+#, c-format
+msgid "%s: fields too long\n"
+msgstr ""
+
msgid "Cannot change ID to root.\n"
msgstr ""
@@ -811,10 +826,6 @@ msgid "Changing the user information for %s\n"
msgstr ""
#, c-format
-msgid "%s: fields too long\n"
-msgstr ""
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -834,8 +845,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
@@ -1108,7 +1119,14 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, c-format
+msgid "Invalid member username %s\n"
msgstr ""
#, c-format
@@ -1215,6 +1233,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1264,6 +1288,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr ""
@@ -1370,7 +1398,8 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
+#, c-format
+msgid "Username Port From%*sLatest\n"
msgstr ""
msgid "Username Port Latest"
@@ -1637,6 +1666,10 @@ msgid "%s: line %d: can't update password\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "Kujdes: grup i panjohur %s\n"
@@ -1946,6 +1979,14 @@ msgid ""
msgstr ""
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr ""
@@ -2040,6 +2081,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr ""
#, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2176,14 +2221,34 @@ msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
#, c-format
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
+#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "Kujdes: grup i panjohur %s\n"
@@ -2223,10 +2288,18 @@ msgstr "Kujdes: grup i panjohur %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "Kujdes: grup i panjohur %s\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "Kujdes: grup i panjohur %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr ""
+
msgid "Creating mailbox file"
msgstr ""
@@ -2238,6 +2311,17 @@ msgid "Setting mailbox file permissions"
msgstr ""
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr ""
@@ -2281,8 +2365,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2442,6 +2528,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr ""
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "Kujdes: grup i panjohur %s\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 81d5bfd5..631929e9 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 6ca2d9a6..5f4b6d61 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2011-11-25 22:08+0100\n"
"Last-Translator: Daniel Nylander <yeager@ubuntu.com>\n"
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
@@ -552,6 +552,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: Misslyckades med att skapa tcb-katalog för %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -560,6 +564,13 @@ msgstr ""
"Faller tillbaka på DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Kunde inte byta katalog till \"%s\"\n"
@@ -817,6 +828,10 @@ msgstr "Telefonnummer (hem)"
msgid "Other"
msgstr "Övrigt"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: fälten för långa\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Kan inte ändra ID till root.\n"
@@ -869,10 +884,6 @@ msgid "Changing the user information for %s\n"
msgstr "Ändrar användarinformationen för %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: fälten för långa\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -901,8 +912,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds antal SHA-rundor för SHA*-\n"
" krypteringsalgoritmerna\n"
@@ -1203,9 +1214,19 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system skapa ett systemkonto\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list lista medlemmarna av gruppen\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "ogiltigt användarnamn \"%s\"\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: \"%s\" är inte ett giltigt gruppnamn\n"
@@ -1322,6 +1343,23 @@ msgstr "%s: ditt gruppnamn matchar inte ditt användarnamn\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: endast root kan använda flaggan -g/--group\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append lägg till användaren till ytterligare "
+"GRUPPER\n"
+" som nämns av flaggan -G utan att ta bort\n"
+" honom/henne från andra grupper\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID ändra grupp-id till GID\n"
@@ -1381,6 +1419,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s och -r är inkompatibla\n"
@@ -1500,8 +1542,10 @@ msgstr ""
" -u, --user LOGIN skriv ut lastlog information för användare\n"
" angiven med LOGIN\n"
-msgid "Username Port From Latest"
-msgstr "Användarnamn Port Från Senast"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Användarnamn Port Senast"
msgid "Username Port Latest"
msgstr "Användarnamn Port Senast"
@@ -1784,6 +1828,11 @@ msgstr "%s: rad %d: användaren \"%s\" finns inte i %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: rad %d: kan inte uppdatera lösenord\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: rad %d: mkdir %s misslyckades: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: rad %d: mkdir %s misslyckades: %s\n"
@@ -2159,6 +2208,14 @@ msgstr ""
"(Ignorerad)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Du är inte bemyndigad att su %s\n"
@@ -2255,6 +2312,11 @@ msgstr "%s: gruppen \"%s\" är en NIS-grupp.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: för många grupper angivna (max %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Slut på minne. Kan inte uppdatera %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2420,15 +2482,44 @@ msgstr ""
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z kräver en SELinux-aktiverad kärna\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: ogiltigt användarnamn \"%s\"\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr ""
+"%s: misslyckades med att kopiera faillog-posten för användaren %lu till "
+"användaren %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: Failed to set locktime for UID %lu\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: Misslyckades med att ställa in låstid för UID %lu\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr ""
+"%s: misslyckades med att kopiera lastlog-posten för användaren %lu till "
+"användaren %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "%s: Failed to set locktime for UID %lu\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: Misslyckades med att ställa in låstid för UID %lu\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr ""
@@ -2477,10 +2568,19 @@ msgstr "%s: rad %d: chown %s misslyckades: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: rad %d: chown %s misslyckades: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: rad %d: chown %s misslyckades: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Ändrar åldersinformationen för %s\n"
+
msgid "Creating mailbox file"
msgstr "Skapar postlådefil"
@@ -2494,6 +2594,17 @@ msgid "Setting mailbox file permissions"
msgstr "Ställer in rättigheter för postlådefil"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: användaren \"%s\" finns redan\n"
@@ -2543,9 +2654,15 @@ msgstr ""
msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force tvinga borttagning av filer, även om\n"
" de inte ägs av användaren\n"
@@ -2734,6 +2851,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: användaren \"%s\" finns redan i %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: ogiltigt datum \"%s\"\n"
@@ -2918,6 +3039,9 @@ msgstr "%s: kan inte återställa %s: %s (dina ändringar finns i %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Användarnamn Port Från Senast"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method krypteringsmetoden (en av %s)\n"
diff --git a/po/tl.gmo b/po/tl.gmo
index 1a84a31e..c38c3455 100644
--- a/po/tl.gmo
+++ b/po/tl.gmo
Binary files differ
diff --git a/po/tl.po b/po/tl.po
index 3d83f11e..d2815363 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-26 21:34+0100\n"
"Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
"Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -540,12 +540,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: hindi malikha ang directory %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Hindi makalipat sa '%s'\n"
@@ -778,6 +789,10 @@ msgstr "Telepono sa Bahay"
msgid "Other"
msgstr "Iba pa"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: mahaba masyado ang mga field\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Hindi mabago ang ID sa root.\n"
@@ -829,10 +844,6 @@ msgstr "%s: '%s' ay ang NIS master ng klienteng ito.\n"
msgid "Changing the user information for %s\n"
msgstr "Pinapalitan ang impormasyon tungkol sa gumagamit na si %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: mahaba masyado ang mga field\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -853,8 +864,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1129,10 +1140,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "hindi tanggap na pangalan '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: hindi tanggap na pangalan ng grupo ang %s\n"
@@ -1236,6 +1255,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1285,6 +1310,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s at -r ay hindi maaring magkasabay\n"
@@ -1390,8 +1419,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Pangalan Puerta Mula Hulihan"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Pangalan Puerta Hulihan"
msgid "Username Port Latest"
msgstr "Pangalan Puerta Hulihan"
@@ -1671,6 +1702,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: linya %d: hindi ma-apdeyt ang kontrasenyas\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: linya %d: bigo ang mkdir\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: linya %d: bigo ang mkdir\n"
@@ -2015,6 +2050,14 @@ msgstr ""
"(Di pinansin)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Hindi kayo awtorisadong gumamit ng su %s\n"
@@ -2112,6 +2155,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: sobrang dami ng grupo ang nakatakda (max %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: naubos ang memory sa update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2248,15 +2295,36 @@ msgstr "%s: hindi maisulat muli ang talaksang password\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: hindi tanggap na pangalan `%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: hindi malikha ang directory %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: hindi malikha ang directory %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: hindi maapdeyt ang talaksang password\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: hindi malikha ang directory %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: hindi malikha ang directory %s\n"
@@ -2298,10 +2366,18 @@ msgstr "%s: linya %d: bigo ang chown\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: linya %d: bigo ang chown\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: linya %d: bigo ang chown\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n"
+
msgid "Creating mailbox file"
msgstr "Inililikha ang talaksang mailbox"
@@ -2314,6 +2390,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Itinatakda ang pahintulot sa talaksang mailbox"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: mayroon nang gumagamit na %s\n"
@@ -2365,8 +2452,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2529,6 +2618,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: mayroon nang gumagamit na %s\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: hindi tanggap na petsa '%s'\n"
@@ -2712,6 +2805,9 @@ msgstr "%s: hindi maibalik ang %s: %s (ang mga pagbabago ay nasa %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: hindi tanggap na batayang directory '%s'\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Pangalan Puerta Mula Hulihan"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/tr.gmo b/po/tr.gmo
index 40afdedc..fa7ce88c 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 6ce93b98..e006cf79 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2008-03-29 20:31+0200\n"
"Last-Translator: Mehmet Türker <mturker@innova.com.tr>\n"
"Language-Team: Türkçe <tr@li.org>\n"
@@ -532,6 +532,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: %s dizini yaratılamıyor\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -540,6 +544,13 @@ msgstr ""
"Varsayılan olarak DES kullanılacak.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "\"%s\" dizinine geçilemiyor\n"
@@ -781,6 +792,10 @@ msgstr "Ev Telefonu"
msgid "Other"
msgstr "DiÄŸer"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: alanlar çok uzun\n"
+
msgid "Cannot change ID to root.\n"
msgstr "ID root kullanıcısı olarak değiştirilemiyor.\n"
@@ -832,10 +847,6 @@ msgstr "%s: `%s' bu istemci için NIS efendisidir.\n"
msgid "Changing the user information for %s\n"
msgstr "%s için kullanıcı bilgileri değiştiriliyor\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: alanlar çok uzun\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -863,8 +874,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds SHA* kripto algoritmaları için kullanılacak\n"
" SHA yuvarlamaları sayısı\n"
@@ -1150,9 +1161,17 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "geçersiz kullanıcı adı '%s'\n"
+
#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s geçerli bir grup adı değil\n"
@@ -1262,6 +1281,15 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+#, fuzzy
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -s, --sha-rounds SHA* kripto algoritmaları için kullanılacak\n"
+" SHA yuvarlamaları sayısı\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1314,6 +1342,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s ve -r uyumsuz\n"
@@ -1419,8 +1451,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "Kullanıcı adı Port Kimden Sonuncu"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "Kullanıcı adı Port Sonuncu"
msgid "Username Port Latest"
msgstr "Kullanıcı adı Port Sonuncu"
@@ -1701,6 +1735,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: satır %d: parola güncellenemiyor\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: satır %d: mkdir başarısız oldu\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: satır %d: mkdir başarısız oldu\n"
@@ -2056,6 +2094,14 @@ msgstr ""
"(Dikkate alınmadı)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "su %s için yetkili değilsiniz\n"
@@ -2153,6 +2199,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: çok fazla grup verildi (azami %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Bellek yetersiz. Grup veritabanı güncellenemiyor.\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2307,15 +2357,36 @@ msgstr "%s: parola dosyası yazılamıyor\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: geçersiz kullanıcı adı '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: %s dizini yaratılamıyor\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: %s dizini yaratılamıyor\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: parola dosyası güncellenemedi\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: %s dizini yaratılamıyor\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: %s dizini yaratılamıyor\n"
@@ -2357,10 +2428,18 @@ msgstr "%s: satır %d: chown başarısız oldu\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: satır %d: chown başarısız oldu\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: satır %d: chown başarısız oldu\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s için ömür bilgisi değiştiriliyor\n"
+
msgid "Creating mailbox file"
msgstr "Mesaj kutusu dosyası yaratılıyor"
@@ -2373,6 +2452,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Mail kutusu dosyası için yetkiler ayarlanıyor"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: kullanıcı %s mevcut\n"
@@ -2425,8 +2515,10 @@ msgstr ""
#, fuzzy
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -s, --sha-rounds SHA* kripto algoritmaları için kullanılacak\n"
" SHA yuvarlamaları sayısı\n"
@@ -2608,6 +2700,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: kullanıcı %s mevcut\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: geçersiz tarih '%s'\n"
@@ -2793,6 +2889,9 @@ msgstr "%s: %s geri yüklenemiyor: %s (değişiklikleriniz %s içinde)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: geçersiz ana dizin '%s'\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Kullanıcı adı Port Kimden Sonuncu"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/uk.gmo b/po/uk.gmo
index 41132a1d..953c2a83 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 4f7dd370..b75ce147 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2007-11-26 22:52+0100\n"
"Last-Translator: Eugeniy Meshcheryakov <eugen@univ.kiev.ua>\n"
"Language-Team: Ukrainian\n"
@@ -534,12 +534,23 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: не можу Ñтворити теку %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
msgstr ""
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ðеможливо перейти до теки \"%s\"\n"
@@ -772,6 +783,10 @@ msgstr "Домашній телефон"
msgid "Other"
msgstr "Інше"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: Ð¿Ð¾Ð»Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довгі\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Ðе можу змінити ID на root.\n"
@@ -823,10 +838,6 @@ msgstr "%s: \"%s\" Ñ” NIS-Ñервером Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ клієнта.\n"
msgid "Changing the user information for %s\n"
msgstr "Зміна інформації про кориÑтувача %s\n"
-#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: Ð¿Ð¾Ð»Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довгі\n"
-
#, fuzzy, c-format
msgid ""
"Usage: %s [options]\n"
@@ -847,8 +858,8 @@ msgid ""
msgstr ""
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
#, fuzzy, c-format
@@ -1123,10 +1134,18 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
+msgstr ""
+
+msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "невірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача '%s'\n"
+
+#, fuzzy, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s: то не Ñ” вірне ім'Ñ Ð³Ñ€ÑƒÐ¿Ð¸\n"
@@ -1230,6 +1249,12 @@ msgstr ""
msgid "%s: only root can use the -g/--group option\n"
msgstr ""
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr ""
@@ -1279,6 +1304,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr ""
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: -s та -r неÑуміÑні\n"
@@ -1384,8 +1413,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr ""
-msgid "Username Port From Latest"
-msgstr "КориÑтувач Порт Звідки ОÑтанній вхід"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "КориÑтувач Порт ОÑтанній вхід"
msgid "Username Port Latest"
msgstr "КориÑтувач Порт ОÑтанній вхід"
@@ -1664,6 +1695,10 @@ msgid "%s: line %d: can't update password\n"
msgstr "%s: Ñ€Ñдок %d: не можу оновити пароль\n"
#, fuzzy, c-format
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: Ñ€Ñдок %d: mkdir не виконавÑÑ\n"
+
+#, fuzzy, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: Ñ€Ñдок %d: mkdir не виконавÑÑ\n"
@@ -2006,6 +2041,14 @@ msgstr ""
"(Ігнорую)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Ви не авторизовані Ð´Ð»Ñ su %s\n"
@@ -2103,6 +2146,10 @@ msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: вказано забагато груп (Ð¼Ð°ÐºÑ %d).\n"
#, fuzzy, c-format
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: бракує пам'ÑÑ‚Ñ– у update_group\n"
+
+#, fuzzy, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
" %s -D\n"
@@ -2239,15 +2286,36 @@ msgstr "%s: не можу перепиÑати файл паролів\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: невірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача '%s'\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: не можу Ñтворити теку %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: не можу Ñтворити теку %s\n"
+
+#, fuzzy, c-format
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: не можу оновити файл паролів\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr ""
#, fuzzy, c-format
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: не можу Ñтворити теку %s\n"
+
+#, fuzzy, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: не можу Ñтворити теку %s\n"
@@ -2289,10 +2357,18 @@ msgstr "%s: Ñ€Ñдок %d: chown не виконавÑÑ\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: Ñ€Ñдок %d: chown не виконавÑÑ\n"
+#, fuzzy, c-format
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: Ñ€Ñдок %d: chown не виконавÑÑ\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Змінюю вікову інформацію Ð´Ð»Ñ %s\n"
+
msgid "Creating mailbox file"
msgstr "СтворюєтьÑÑ Ñ„Ð°Ð¹Ð» поштової Ñкриньки"
@@ -2305,6 +2381,17 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Ð’ÑтановлюютьÑÑ Ð¿Ñ€Ð°Ð²Ð° доÑтупу на файл поштової Ñкриньки"
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: кориÑтувач %s Ñ–Ñнує\n"
@@ -2356,8 +2443,10 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2519,6 +2608,10 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: кориÑтувач %s Ñ–Ñнує\n"
+#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: невірна дата \"%s\"\n"
@@ -2701,6 +2794,9 @@ msgstr "%s: не можу відновити %s: %s (ваші зміни у %s)\
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: невірна базова тека \"%s\"\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "КориÑтувач Порт Звідки ОÑтанній вхід"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/po/vi.gmo b/po/vi.gmo
index 1a60fb4f..32b337a3 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 81e269ab..d78adfb1 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow master\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2016-10-04 07:07+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <debian-l10n-vietnamese@lists.debian.org>\n"
@@ -564,6 +564,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: không thể thay đổi thư mục gốc thành %s: %s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -572,6 +576,13 @@ msgstr ""
"nên hoàn nguyên vỠgiá trị mặc định: DES.\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Không thể cd (chuyển đổi thÆ° mục) sang “%sâ€.\n"
@@ -831,6 +842,10 @@ msgstr "Äiện thoại ở nhà"
msgid "Other"
msgstr "Khác"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: trÆ°á»ng quá dài\n"
+
msgid "Cannot change ID to root.\n"
msgstr "Không thể thay đổi mã số thành siêu quản trị (root).\n"
@@ -883,10 +898,6 @@ msgid "Changing the user information for %s\n"
msgstr "Äang thay đổi thông tin vá» ngÆ°á»i dùng đối vá»›i %s\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s: trÆ°á»ng quá dài\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -916,8 +927,8 @@ msgstr ""
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr ""
" -s, --sha-rounds số vòng SHA cho thuật toán mã hóa SHA*\n"
@@ -1232,9 +1243,19 @@ msgstr " -r, --system tạo một tài khoản hệ thống\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root THƯ_MỤC_Äá»”I thÆ° mục để chuyển gốc đến\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list liệt kê những ngÆ°á»i trong nhóm\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "tên ngÆ°á»i dùng không hợp lệ “%sâ€\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: “%s†không phải là tên nhóm hợp lệ\n"
@@ -1346,6 +1367,22 @@ msgstr "%s: tên nhóm của bạn không tÆ°Æ¡ng ứng vá»›i tên ngÆ°á»i dùn
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s: chỉ siêu quản trị có quyá»n sá»­ dụng tùy chá»n “-g/--groupâ€\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append thêm ngÆ°á»i dùng vào các nhóm phụ\n"
+" Ä‘Æ°a ra bởi tùy chá»n “-G†mà không gỡ bá» ta "
+"khá»i nhóm khác\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID thay đổi mã số nhóm sang GID này\n"
@@ -1407,6 +1444,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort sắp xếp các mục tin theo UID\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s: hai tùy chá»n “-s†và “-r†không tÆ°Æ¡ng thích vá»›i nhau\n"
@@ -1525,8 +1566,10 @@ msgstr ""
" -u, --user ÄÄ‚NG_NHẬP hiển thị mục ghi lastlog cho _ngÆ°á»i dùng_ "
"tên này\n"
-msgid "Username Port From Latest"
-msgstr "Tài_khoản Cổng Từ Mới nhất"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "NgÆ°á»i dùng Cổng Má»›i nhất"
msgid "Username Port Latest"
msgstr "NgÆ°á»i dùng Cổng Má»›i nhất"
@@ -1816,6 +1859,11 @@ msgstr "%s: dòng %d: ngÆ°á»i dùng “%s†không tồn tại trong %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s: dòng %d: không thể cập nhật mật khẩu\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s: dòng %d: lỗi mkdir (tạo thư mục) %s: %s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s: dòng %d: lỗi mkdir (tạo thư mục) %s: %s\n"
@@ -2194,6 +2242,14 @@ msgstr ""
"(Bị bỠqua)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "Bạn không có quyá»n sá»­ dụng lệnh “su†(siêu ngÆ°á»i dùng) vá»›i %s.\n"
@@ -2291,6 +2347,11 @@ msgstr "%s: nhóm “%s†là nhóm kiểu NIS.\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s: ghi rõ quá nhiá»u nhóm (tối Ä‘a %d).\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s: Hết bộ nhớ. Không thể cập nhật %s.\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2454,15 +2515,40 @@ msgstr "%s: Tùy chá»n -C không thể dùng cùng vá»›i -S\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: “-Z†yêu cầu hạt nhân bật tính năng hỗ trợ SELinux\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s: tên dùng không hợp lệ “%sâ€\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: không đặt lại được mục tin faillog của UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: không đặt lại được mục tin faillog của UID %lu: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: không đặt lại được mục tin faillog của UID %lu: %s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: gặp lỗi khi đặt lại mục tin lastlog của UID %lu: %s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: gặp lỗi khi đặt lại mục tin lastlog của UID %lu: %s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: gặp lỗi khi đặt lại mục tin lastlog của UID %lu: %s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s: không đặt lại được mục tin faillog của UID %lu: %s\n"
@@ -2509,10 +2595,20 @@ msgstr "%s: dòng %d: lá»—i chown (thay đổi quyá»n sở hữu) %s: %s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s: dòng %d: lá»—i chown (thay đổi quyá»n sở hữu) %s: %s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s: dòng %d: lá»—i chown (thay đổi quyá»n sở hữu) %s: %s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "Không thể tạo ánh xạ đăng nhập SELinux cho %s\n"
+
msgid "Creating mailbox file"
msgstr "Äang tạo tập tin há»™p thÆ°"
@@ -2526,6 +2622,17 @@ msgid "Setting mailbox file permissions"
msgstr "Äang đặt quyá»n truy cập tập tin há»™p thÆ°"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s: ngÆ°á»i dùng “%s†đã có\n"
@@ -2574,9 +2681,15 @@ msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr ""
"%s: cảnh báo: lá»—i ánh xạ tên ngÆ°á»i dùng %s tá»›i ngÆ°á»i dùng SELinux %s.\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr ""
" -f, --force ép buộc gỡ bỠtập tin, thậm chí nếu không\n"
" được sở hữu bởi ngÆ°á»i dùng\n"
@@ -2767,6 +2880,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s: ngÆ°á»i dùng “%s†đã có trong %s\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s: vùng mã số ngÆ°á»i dùng lệ thuá»™c không hợp lệ “%sâ€\n"
@@ -2949,6 +3066,9 @@ msgstr "%s: không thể phục hồi %s: %s (các thay đổi của bạn nằm
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "Tài_khoản Cổng Từ Mới nhất"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method phương pháp mật mã (một của %s)\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 5fa71070..6618b495 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index a59a2aca..832d9668 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.15\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2018-06-16 18:17+0800\n"
"Last-Translator: Daming Yang <lion@aosc.io>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -550,6 +550,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s:无法 chroot 到目录 %s:%s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -558,6 +562,13 @@ msgstr ""
"默认为 DES。\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "无法 cd 进入“%sâ€\n"
@@ -803,6 +814,10 @@ msgstr "家庭电è¯"
msgid "Other"
msgstr "其它"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s:字段太长\n"
+
msgid "Cannot change ID to root.\n"
msgstr "无法将 ID 改为 root。\n"
@@ -855,10 +870,6 @@ msgid "Changing the user information for %s\n"
msgstr "æ­£åœ¨æ”¹å˜ %s 的用户信æ¯\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s:字段太长\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -885,8 +896,8 @@ msgstr " -m, --md5 使用 MD5 算法加密明文密ç \n"
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr " -s, --sha-rounds 使用 SHA* 加密算法的轮数\n"
#, c-format
@@ -1173,9 +1184,19 @@ msgstr " -r, --system 创建一个系统账户\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_DIR chroot 到的目录\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list 列出组中的所有æˆå‘˜\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "无效的用户å“%sâ€\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s:“%sâ€ä¸æ˜¯æœ‰æ•ˆçš„组å\n"
@@ -1284,6 +1305,21 @@ msgstr "%s:您的组å和用户åä¸åŒ¹é…\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s:åªæœ‰ root æ‰å¯ä»¥ä½¿ç”¨ -g/--group 选项\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append GROUP 将用户追加至上边 -G 中æ到的附加组中,\n"
+" 并ä¸ä»Žå…¶å®ƒç»„中删除此用户\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID 将组 ID 改为 GID\n"
@@ -1339,6 +1375,10 @@ msgstr " -r, --read-only 显示错误和警告,但ä¸æ”¹å˜æ–‡ä
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort 通过 UID 排åºé¡¹ç›®\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s:-s 与 -r ä¸å…¼å®¹\n"
@@ -1446,8 +1486,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr " -u, --user LOGIN æ‰“å° LOGIN 用户的最近登录记录\n"
-msgid "Username Port From Latest"
-msgstr "用户å ç«¯å£ æ¥è‡ª 最åŽç™»å½•æ—¶é—´"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "用户å ç«¯å£ æœ€åŽç™»å½•æ—¶é—´"
msgid "Username Port Latest"
msgstr "用户å ç«¯å£ æœ€åŽç™»å½•æ—¶é—´"
@@ -1729,6 +1771,11 @@ msgstr "%s:第 %d 行:用户“%sâ€ä¸å­˜åœ¨äºŽ %s 中\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s:第 %d 行:无法更新密ç \n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s:第 %d 行:创建目录 %s 失败:%s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s:第 %d 行:创建目录 %s 失败:%s\n"
@@ -2083,6 +2130,14 @@ msgstr ""
"(忽略)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "æ‚¨æ²¡æœ‰è¢«æŽˆæƒ su %s\n"
@@ -2179,6 +2234,11 @@ msgstr "%s:“%sâ€ç»„是一个 NIS 组。\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s:指定了过多组(最多 %d)。\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s:超出内存。ä¸èƒ½æ›´æ–° %s。\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2325,15 +2385,40 @@ msgstr "%s:选项 -C ä¸èƒ½ä¸Ž -S 选项一起使用\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s:-Z 选项è¦æ±‚内核å¯ç”¨ SELinux\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s:无效的用户å“%sâ€\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s:é‡ç½® UID %lu 的登录失败æ¡ç›®å¤±è´¥ï¼š%s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s:é‡ç½® UID %lu 的登录失败æ¡ç›®å¤±è´¥ï¼š%s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s:é‡ç½® UID %lu 的登录失败æ¡ç›®å¤±è´¥ï¼š%s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s:é‡ç½® UID %lu 的最近登录æ¡ç›®å¤±è´¥ï¼š%s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s:é‡ç½® UID %lu 的最近登录æ¡ç›®å¤±è´¥ï¼š%s\n"
#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s:é‡ç½® UID %lu 的最近登录æ¡ç›®å¤±è´¥ï¼š%s\n"
+
+#, fuzzy, c-format
#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s:é‡ç½® UID %lu 的登录失败æ¡ç›®å¤±è´¥ï¼š%s\n"
@@ -2380,10 +2465,20 @@ msgstr "%s:第 %d è¡Œï¼šæ”¹å˜ %s 的属主失败:%s\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s:第 %d è¡Œï¼šæ”¹å˜ %s 的属主失败:%s\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: chown %s failed: %s\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s:第 %d è¡Œï¼šæ”¹å˜ %s 的属主失败:%s\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Cannot create SELinux login mapping for %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "无法为 %s 创建登录映射\n"
+
msgid "Creating mailbox file"
msgstr "正在创建信箱文件"
@@ -2395,6 +2490,17 @@ msgid "Setting mailbox file permissions"
msgstr "正在设置信箱文件访问æƒé™"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s:用户“%sâ€å·²å­˜åœ¨\n"
@@ -2442,9 +2548,15 @@ msgstr ""
msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr "%s:警告:将用户å %s 到 %s SELinux 的用户映射失败。\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr " -f, --force å³ä½¿ä¸å±žäºŽæ­¤ç”¨æˆ·ï¼Œä¹Ÿå¼ºåˆ¶åˆ é™¤æ–‡ä»¶\n"
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2612,6 +2724,10 @@ msgid "%s: user '%s' already exists in %s\n"
msgstr "%s:用户“%sâ€å·²å­˜åœ¨äºŽ %s 中\n"
#, c-format
+msgid "%s: homedir must be an absolute path\n"
+msgstr ""
+
+#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%sï¼šæ— æ•ˆçš„å­ UID 范围“%sâ€\n"
@@ -2787,6 +2903,9 @@ msgstr "%s:无法æ¢å¤ %s:%s (您的修改在 %s 中)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s:无法为“%sâ€æ‰¾åˆ° tcb 目录\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "用户å ç«¯å£ æ¥è‡ª 最åŽç™»å½•æ—¶é—´"
+
#~ msgid " -c, --crypt-method the crypt method (one of %s)\n"
#~ msgstr " -c, --crypt-method 加密方法 (%s 之一)\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 0dae7679..32d15e89 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 76642bfb..8fd06f1b 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.9\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
-"POT-Creation-Date: 2020-01-23 14:59-0600\n"
+"POT-Creation-Date: 2021-07-04 12:20+0200\n"
"PO-Revision-Date: 2019-09-23 21:29+0800\n"
"Last-Translator: pan93412 <pan93412@gmail.com>\n"
"Language-Team: Chinese <chinese-l10n@googlegroups.com>\n"
@@ -549,6 +549,10 @@ msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s:無法 chroot 到 %s 目錄:%s\n"
#, c-format
+msgid "Unable to obtain random bytes.\n"
+msgstr ""
+
+#, c-format
msgid ""
"Invalid ENCRYPT_METHOD value: '%s'.\n"
"Defaulting to DES.\n"
@@ -557,6 +561,13 @@ msgstr ""
"é è¨­å€¼ç‚º DES。\n"
#, c-format
+msgid ""
+"Unable to generate a salt from setting \"%s\", check your settings in "
+"ENCRYPT_METHOD and the corresponding configuration for your selected hash "
+"method.\n"
+msgstr ""
+
+#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "無法切æ›è‡³ã€Œ%sã€ç›®éŒ„\n"
@@ -798,6 +809,10 @@ msgstr "家用電話"
msgid "Other"
msgstr "其它"
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s:欄ä½éŽé•·\n"
+
msgid "Cannot change ID to root.\n"
msgstr "無法將 ID è®Šæ›´æˆ root。\n"
@@ -850,10 +865,6 @@ msgid "Changing the user information for %s\n"
msgstr "正在變更 %s 的使用者資訊\n"
#, c-format
-msgid "%s: fields too long\n"
-msgstr "%s:欄ä½éŽé•·\n"
-
-#, c-format
msgid ""
"Usage: %s [options]\n"
"\n"
@@ -882,8 +893,8 @@ msgstr " -m, --md5 使用 MD5 算法加密此純文字密ç¢
#| " -s, --sha-rounds number of SHA rounds for the SHA*\n"
#| " crypt algorithms\n"
msgid ""
-" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
-" crypt algorithms\n"
+" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+" or YESCRYPT crypt algorithms\n"
msgstr " -s, --sha-rounds SHA* 加密算法的 SHA 回數\n"
#, c-format
@@ -1171,9 +1182,21 @@ msgstr " -p, --password 密碼 å°æ­¤æ–°ç¾¤çµ„使用此已加密密碼
msgid " -r, --system create a system account\n"
msgstr " -r, --system 建立系統帳號\n"
-msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+#, fuzzy
+#| msgid " -P, --prefix PREFIX_DIR directory prefix\n"
+msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -P, --prefix 目錄å‰ç¶´ 目錄å‰ç¶´\n"
+#, fuzzy
+#| msgid " -l, --list list the members of the group\n"
+msgid " -U, --users USERS list of user members of this group\n"
+msgstr " -l, --list 列出群組æˆå“¡\n"
+
+#, fuzzy, c-format
+#| msgid "invalid user name '%s'\n"
+msgid "Invalid member username %s\n"
+msgstr "無效的使用者å稱「%sã€\n"
+
#, c-format
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s:「%sã€éžæœ‰æ•ˆç¾¤çµ„å稱\n"
@@ -1284,6 +1307,21 @@ msgstr "%s:您的群組å稱與使用者å稱ä¸ç¬¦\n"
msgid "%s: only root can use the -g/--group option\n"
msgstr "%s:åªæœ‰ root æ‰èƒ½ä½¿ç”¨ -g/--group é¸é …\n"
+#, fuzzy
+#| msgid ""
+#| " -a, --append append the user to the supplemental "
+#| "GROUPS\n"
+#| " mentioned by the -G option without "
+#| "removing\n"
+#| " the user from other groups\n"
+msgid ""
+" -a, --append append the users mentioned by -U option to "
+"the group \n"
+" without removing existing user members\n"
+msgstr ""
+" -a, --append 將使用者附加至 -G é¸é …所指定的增補群組,\n"
+" 而ä¸å°‡ä½¿ç”¨è€…從其他群組移除\n"
+
msgid " -g, --gid GID change the group ID to GID\n"
msgstr " -g, --gid GID 將群組 ID è®Šæ›´æˆ GID\n"
@@ -1342,6 +1380,10 @@ msgstr ""
msgid " -s, --sort sort entries by UID\n"
msgstr " -s, --sort ä¾ UID 排åºé …ç›®\n"
+msgid ""
+" -S, --silence-warnings silence controversial/paranoid warnings\n"
+msgstr ""
+
#, c-format
msgid "%s: -s and -r are incompatible\n"
msgstr "%s:-s å’Œ -r 是互ä¸ç›¸å®¹çš„\n"
@@ -1451,8 +1493,10 @@ msgid ""
" -u, --user LOGIN print lastlog record of the specified LOGIN\n"
msgstr " -u, --user 使用者 輸出 <使用者> 的 lastlog 記錄\n"
-msgid "Username Port From Latest"
-msgstr "使用者å 埠號 來自 最後登入時間"
+#, fuzzy, c-format
+#| msgid "Username Port Latest"
+msgid "Username Port From%*sLatest\n"
+msgstr "使用者å 埠號 最後登入時間"
msgid "Username Port Latest"
msgstr "使用者å 埠號 最後登入時間"
@@ -1738,6 +1782,11 @@ msgstr "%s:第 %d 行:「%sã€ä½¿ç”¨è€…ä¸å­˜åœ¨ %s\n"
msgid "%s: line %d: can't update password\n"
msgstr "%s:第 %d 行:無法更新密碼\n"
+#, fuzzy, c-format
+#| msgid "%s: line %d: mkdir %s failed: %s\n"
+msgid "%s: line %d: homedir must be an absolute path\n"
+msgstr "%s:第 %d 行:建立 %s 目錄失敗:%s\n"
+
#, c-format
msgid "%s: line %d: mkdir %s failed: %s\n"
msgstr "%s:第 %d 行:建立 %s 目錄失敗:%s\n"
@@ -2077,6 +2126,14 @@ msgstr ""
"(忽略)\n"
#, c-format
+msgid "Password field is empty, this is forbidden for all accounts.\n"
+msgstr ""
+
+#, c-format
+msgid "Password field is empty, this is forbidden for super-user.\n"
+msgstr ""
+
+#, c-format
msgid "You are not authorized to su %s\n"
msgstr "您沒有被授權 su %s\n"
@@ -2176,6 +2233,11 @@ msgstr "%s:群組「%sã€æ˜¯ NIS 群組。\n"
msgid "%s: too many groups specified (max %d).\n"
msgstr "%s:指定了éŽå¤šç¾¤çµ„(最多 %d)。\n"
+#, fuzzy, c-format
+#| msgid "%s: Out of memory. Cannot update %s.\n"
+msgid "%s: Out of memory. Cannot find group '%s'.\n"
+msgstr "%s:記憶體ä¸è¶³ã€‚無法更新 %s。\n"
+
#, c-format
msgid ""
"Usage: %s [options] LOGIN\n"
@@ -2327,14 +2389,39 @@ msgstr "%s:-Z ä¸èƒ½è·Ÿ --prefix 一起使用\n"
msgid "%s: -Z requires SELinux enabled kernel\n"
msgstr "%s: -Z 需è¦å•Ÿç”¨ SELinux 的核心\n"
+#, fuzzy, c-format
+#| msgid "%s: invalid user name '%s'\n"
+msgid "%s: invalid user name '%s': use --badname to ignore\n"
+msgstr "%s:無效使用者å稱「%sã€\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to open the faillog file for UID %lu: %s\n"
+msgstr "%s: 無法é‡è¨­ UID %lu çš„ faillog 項目:%s\n"
+
#, c-format
msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
msgstr "%s: 無法é‡è¨­ UID %lu çš„ faillog 項目:%s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n"
+msgid "%s: failed to close the faillog file for UID %lu: %s\n"
+msgstr "%s: 無法é‡è¨­ UID %lu çš„ faillog 項目:%s\n"
+
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to open the lastlog file for UID %lu: %s\n"
+msgstr "%s: 無法é‡è¨­ UID %lu çš„ lastlog 項目:%s\n"
+
#, c-format
msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
msgstr "%s: 無法é‡è¨­ UID %lu çš„ lastlog 項目:%s\n"
+#, fuzzy, c-format
+#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n"
+msgid "%s: failed to close the lastlog file for UID %lu: %s\n"
+msgstr "%s: 無法é‡è¨­ UID %lu çš„ lastlog 項目:%s\n"
+
#, c-format
msgid "%s: failed to reset the tallylog entry of user \"%s\"\n"
msgstr "%s:無法é‡è¨­ã€Œ%sã€ä½¿ç”¨è€…çš„ tallylog é …ç›®\n"
@@ -2375,10 +2462,20 @@ msgstr "%s:警告:在「%sã€ä¸Šè®Šæ›´æ‰€æœ‰æ¬Šå¤±æ•—:%m\n"
msgid "%s: warning: chmod on `%s' failed: %m\n"
msgstr "%s:警告:在「%sã€ä¸Šè®Šæ›´æ¬Šé™å¤±æ•—:%m\n"
+#, fuzzy, c-format
+#| msgid "%s: warning: chown on `%s' failed: %m\n"
+msgid "%s: warning: chown on '%s' failed: %m\n"
+msgstr "%s:警告:在「%sã€ä¸Šè®Šæ›´æ‰€æœ‰æ¬Šå¤±æ•—:%m\n"
+
#, c-format
msgid "%s: cannot reset SELinux file creation context\n"
msgstr "%s: 無法é‡è¨­ SELinux 檔案建立上下文\n"
+#, fuzzy, c-format
+#| msgid "%s: cannot set SELinux context for home directory %s\n"
+msgid "%s: cannot set SELinux context for mailbox file %s\n"
+msgstr "%s:無法å°å®¶ç›®éŒ„ %s 設定 SELinux 上下文\n"
+
msgid "Creating mailbox file"
msgstr "正在建立 mailbox 檔案"
@@ -2390,6 +2487,17 @@ msgid "Setting mailbox file permissions"
msgstr "正在設定 mailbox 檔案的權é™"
#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d "
+"range.\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"
+msgstr ""
+
+#, c-format
msgid "%s: user '%s' already exists\n"
msgstr "%s:「%sã€ä½¿ç”¨è€…已存在\n"
@@ -2438,9 +2546,15 @@ msgstr ""
msgid "%s: warning: the user name %s to %s SELinux user mapping failed.\n"
msgstr "%s: 警告:映射 %s 使用者å稱至 %s SELinux 使用者失敗。\n"
+#, fuzzy
+#| msgid ""
+#| " -f, --force force removal of files,\n"
+#| " even if not owned by user\n"
msgid ""
-" -f, --force force removal of files,\n"
-" even if not owned by user\n"
+" -f, --force force some actions that would fail "
+"otherwise\n"
+" e.g. removal of user still logged in\n"
+" or files, even if not owned by the user\n"
msgstr " -f, --force å³ä½¿ä½¿ç”¨è€…未æ“有該檔案ä»å¼·åˆ¶ç§»é™¤\n"
msgid " -r, --remove remove home directory and mail spool\n"
@@ -2607,6 +2721,11 @@ msgstr ""
msgid "%s: user '%s' already exists in %s\n"
msgstr "%s:使用者「%sã€å·²å­˜åœ¨æ–¼ %s\n"
+#, fuzzy, c-format
+#| msgid "%s: home directory \"%s\" must be mounted on BTRFS\n"
+msgid "%s: homedir must be an absolute path\n"
+msgstr "%s:「%sã€å®¶ç›®éŒ„必須掛載於 BTRFS\n"
+
#, c-format
msgid "%s: invalid subordinate uid range '%s'\n"
msgstr "%s:次級 UID 範åœã€Œ%sã€ç„¡æ•ˆ\n"
@@ -2782,6 +2901,9 @@ msgstr "%s:無法復原 %s:%s (您的修改在 %s 中)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s:找ä¸åˆ° %s çš„ tcb 目錄\n"
+#~ msgid "Username Port From Latest"
+#~ msgstr "使用者å 埠號 來自 最後登入時間"
+
#, fuzzy
#~| msgid "Usage: %s [input]\n"
#~ msgid ""
diff --git a/src/Makefile.am b/src/Makefile.am
index f175928a..35027013 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -78,7 +78,7 @@ shadowsgidubins = passwd
endif
LDADD = $(INTLLIBS) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la \
$(LIBTCB)
@@ -95,18 +95,18 @@ LIBCRYPT_NOPAM = $(LIBCRYPT)
endif
chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP)
-newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP)
+newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
+newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
expiry_LDADD = $(LDADD) $(LIBECONF)
gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
-groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
+groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
@@ -116,7 +116,7 @@ login_SOURCES = \
login_nopam.c
login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF)
-newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
+newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl
nologin_LDADD =
passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF)
pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
@@ -127,9 +127,9 @@ su_SOURCES = \
suauth.c
su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
-useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
-userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
-usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
+userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl
+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
install-am: all-am
@@ -156,4 +156,74 @@ if FCAPS
setcap cap_setuid+ep $(DESTDIR)$(ubindir)/newuidmap
setcap cap_setgid+ep $(DESTDIR)$(ubindir)/newgidmap
endif
+
+noinst_PROGRAMS += list_subid_ranges \
+ get_subid_owners \
+ new_subid_range \
+ free_subid_range \
+ check_subid_range
+
+MISCLIBS = \
+ $(LIBAUDIT) \
+ $(LIBSELINUX) \
+ $(LIBSEMANAGE) \
+ $(LIBCRYPT_NOPAM) \
+ $(LIBSKEY) \
+ $(LIBMD) \
+ $(LIBECONF) \
+ $(LIBCRYPT) \
+ $(LIBTCB)
+
+list_subid_ranges_LDADD = \
+ $(top_builddir)/lib/libshadow.la \
+ $(top_builddir)/libmisc/libmisc.la \
+ $(top_builddir)/libsubid/libsubid.la \
+ $(MISCLIBS) -ldl
+
+list_subid_ranges_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/libmisc \
+ -I$(top_srcdir)/libsubid
+
+get_subid_owners_LDADD = \
+ $(top_builddir)/lib/libshadow.la \
+ $(top_builddir)/libmisc/libmisc.la \
+ $(top_builddir)/libsubid/libsubid.la \
+ $(MISCLIBS) -ldl
+
+get_subid_owners_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/libmisc \
+ -I$(top_srcdir)/libsubid
+
+new_subid_range_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/libmisc \
+ -I$(top_srcdir)/libsubid
+
+new_subid_range_LDADD = \
+ $(top_builddir)/lib/libshadow.la \
+ $(top_builddir)/libmisc/libmisc.la \
+ $(top_builddir)/libsubid/libsubid.la \
+ $(MISCLIBS) -ldl
+
+free_subid_range_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/libmisc \
+ -I$(top_srcdir)/libsubid
+
+free_subid_range_LDADD = \
+ $(top_builddir)/lib/libshadow.la \
+ $(top_builddir)/libmisc/libmisc.la \
+ $(top_builddir)/libsubid/libsubid.la \
+ $(MISCLIBS) -ldl
+
+check_subid_range_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/libmisc
+
+check_subid_range_LDADD = \
+ $(top_builddir)/lib/libshadow.la \
+ $(top_builddir)/libmisc/libmisc.la \
+ $(MISCLIBS) -ldl
endif
diff --git a/src/Makefile.in b/src/Makefile.in
index d66e6e85..c820270f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -92,7 +92,7 @@ bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) $(am__EXEEXT_1)
sbin_PROGRAMS = nologin$(EXEEXT)
ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \
chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \
- newgrp$(EXEEXT) passwd$(EXEEXT) $(am__EXEEXT_2)
+ newgrp$(EXEEXT) passwd$(EXEEXT) $(am__EXEEXT_3)
@ENABLE_SUBIDS_TRUE@am__append_1 = newgidmap newuidmap
@WITH_SU_TRUE@am__append_2 = su
usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \
@@ -102,15 +102,27 @@ usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \
pwck$(EXEEXT) pwconv$(EXEEXT) pwunconv$(EXEEXT) \
useradd$(EXEEXT) userdel$(EXEEXT) usermod$(EXEEXT) \
vipw$(EXEEXT)
-noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT)
+noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) $(am__EXEEXT_2)
@WITH_SU_TRUE@am__append_3 = su
@WITH_TCB_FALSE@am__append_4 = passwd
@ACCT_TOOLS_SETUID_TRUE@am__append_5 = chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
@ENABLE_SUBIDS_TRUE@@FCAPS_FALSE@am__append_6 = newgidmap newuidmap
+@ENABLE_SUBIDS_TRUE@am__append_7 = list_subid_ranges \
+@ENABLE_SUBIDS_TRUE@ get_subid_owners \
+@ENABLE_SUBIDS_TRUE@ new_subid_range \
+@ENABLE_SUBIDS_TRUE@ free_subid_range \
+@ENABLE_SUBIDS_TRUE@ check_subid_range
+
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -121,7 +133,12 @@ CONFIG_CLEAN_VPATH_FILES =
@WITH_SU_TRUE@am__EXEEXT_1 = su$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
"$(DESTDIR)$(ubindir)" "$(DESTDIR)$(usbindir)"
-@ENABLE_SUBIDS_TRUE@am__EXEEXT_2 = newgidmap$(EXEEXT) \
+@ENABLE_SUBIDS_TRUE@am__EXEEXT_2 = list_subid_ranges$(EXEEXT) \
+@ENABLE_SUBIDS_TRUE@ get_subid_owners$(EXEEXT) \
+@ENABLE_SUBIDS_TRUE@ new_subid_range$(EXEEXT) \
+@ENABLE_SUBIDS_TRUE@ free_subid_range$(EXEEXT) \
+@ENABLE_SUBIDS_TRUE@ check_subid_range$(EXEEXT)
+@ENABLE_SUBIDS_TRUE@am__EXEEXT_3 = newgidmap$(EXEEXT) \
@ENABLE_SUBIDS_TRUE@ newuidmap$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \
$(ubin_PROGRAMS) $(usbin_PROGRAMS)
@@ -129,7 +146,7 @@ chage_SOURCES = chage.c
chage_OBJECTS = chage.$(OBJEXT)
am__DEPENDENCIES_1 =
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1)
@ACCT_TOOLS_SETUID_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
chage_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
@@ -139,9 +156,25 @@ AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
+check_subid_range_SOURCES = check_subid_range.c
+check_subid_range_OBJECTS = \
+ check_subid_range-check_subid_range.$(OBJEXT)
+@USE_PAM_FALSE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
+@ENABLE_SUBIDS_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_4) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1)
+@ENABLE_SUBIDS_TRUE@check_subid_range_DEPENDENCIES = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5)
chfn_SOURCES = chfn.c
chfn_OBJECTS = chfn.$(OBJEXT)
-@USE_PAM_FALSE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
chfn_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1) \
@@ -169,8 +202,24 @@ faillog_SOURCES = faillog.c
faillog_OBJECTS = faillog.$(OBJEXT)
faillog_LDADD = $(LDADD)
faillog_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1)
+free_subid_range_SOURCES = free_subid_range.c
+free_subid_range_OBJECTS = \
+ free_subid_range-free_subid_range.$(OBJEXT)
+@ENABLE_SUBIDS_TRUE@free_subid_range_DEPENDENCIES = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5)
+get_subid_owners_SOURCES = get_subid_owners.c
+get_subid_owners_OBJECTS = \
+ get_subid_owners-get_subid_owners.$(OBJEXT)
+@ENABLE_SUBIDS_TRUE@get_subid_owners_DEPENDENCIES = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5)
gpasswd_SOURCES = gpasswd.c
gpasswd_OBJECTS = gpasswd.$(OBJEXT)
gpasswd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -200,7 +249,7 @@ groups_SOURCES = groups.c
groups_OBJECTS = groups.$(OBJEXT)
groups_LDADD = $(LDADD)
groups_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1)
grpck_SOURCES = grpck.c
grpck_OBJECTS = grpck.$(OBJEXT)
@@ -218,12 +267,20 @@ id_SOURCES = id.c
id_OBJECTS = id.$(OBJEXT)
id_LDADD = $(LDADD)
id_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1)
lastlog_SOURCES = lastlog.c
lastlog_OBJECTS = lastlog.$(OBJEXT)
lastlog_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
+list_subid_ranges_SOURCES = list_subid_ranges.c
+list_subid_ranges_OBJECTS = \
+ list_subid_ranges-list_subid_ranges.$(OBJEXT)
+@ENABLE_SUBIDS_TRUE@list_subid_ranges_DEPENDENCIES = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5)
am_login_OBJECTS = login.$(OBJEXT) login_nopam.$(OBJEXT)
login_OBJECTS = $(am_login_OBJECTS)
login_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -234,8 +291,15 @@ logoutd_SOURCES = logoutd.c
logoutd_OBJECTS = logoutd.$(OBJEXT)
logoutd_LDADD = $(LDADD)
logoutd_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1)
+new_subid_range_SOURCES = new_subid_range.c
+new_subid_range_OBJECTS = new_subid_range-new_subid_range.$(OBJEXT)
+@ENABLE_SUBIDS_TRUE@new_subid_range_DEPENDENCIES = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5)
newgidmap_SOURCES = newgidmap.c
newgidmap_OBJECTS = newgidmap.$(OBJEXT)
newgidmap_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -319,25 +383,7 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/chage.Po ./$(DEPDIR)/chfn.Po \
- ./$(DEPDIR)/chgpasswd.Po ./$(DEPDIR)/chpasswd.Po \
- ./$(DEPDIR)/chsh.Po ./$(DEPDIR)/expiry.Po \
- ./$(DEPDIR)/faillog.Po ./$(DEPDIR)/gpasswd.Po \
- ./$(DEPDIR)/groupadd.Po ./$(DEPDIR)/groupdel.Po \
- ./$(DEPDIR)/groupmems.Po ./$(DEPDIR)/groupmod.Po \
- ./$(DEPDIR)/groups.Po ./$(DEPDIR)/grpck.Po \
- ./$(DEPDIR)/grpconv.Po ./$(DEPDIR)/grpunconv.Po \
- ./$(DEPDIR)/id.Po ./$(DEPDIR)/lastlog.Po ./$(DEPDIR)/login.Po \
- ./$(DEPDIR)/login_nopam.Po ./$(DEPDIR)/logoutd.Po \
- ./$(DEPDIR)/newgidmap.Po ./$(DEPDIR)/newgrp.Po \
- ./$(DEPDIR)/newuidmap.Po ./$(DEPDIR)/newusers.Po \
- ./$(DEPDIR)/nologin.Po ./$(DEPDIR)/passwd.Po \
- ./$(DEPDIR)/pwck.Po ./$(DEPDIR)/pwconv.Po \
- ./$(DEPDIR)/pwunconv.Po ./$(DEPDIR)/su.Po \
- ./$(DEPDIR)/suauth.Po ./$(DEPDIR)/sulogin.Po \
- ./$(DEPDIR)/useradd.Po ./$(DEPDIR)/userdel.Po \
- ./$(DEPDIR)/usermod.Po ./$(DEPDIR)/vipw.Po
+am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -357,20 +403,22 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \
- faillog.c gpasswd.c groupadd.c groupdel.c groupmems.c \
+SOURCES = chage.c check_subid_range.c chfn.c chgpasswd.c chpasswd.c \
+ chsh.c expiry.c faillog.c free_subid_range.c \
+ get_subid_owners.c gpasswd.c groupadd.c groupdel.c groupmems.c \
groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c \
- lastlog.c $(login_SOURCES) logoutd.c newgidmap.c newgrp.c \
- newuidmap.c newusers.c nologin.c passwd.c pwck.c pwconv.c \
- pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \
- usermod.c vipw.c
-DIST_SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \
- faillog.c gpasswd.c groupadd.c groupdel.c groupmems.c \
+ lastlog.c list_subid_ranges.c $(login_SOURCES) logoutd.c \
+ new_subid_range.c newgidmap.c newgrp.c newuidmap.c newusers.c \
+ nologin.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) \
+ sulogin.c useradd.c userdel.c usermod.c vipw.c
+DIST_SOURCES = chage.c check_subid_range.c chfn.c chgpasswd.c \
+ chpasswd.c chsh.c expiry.c faillog.c free_subid_range.c \
+ get_subid_owners.c gpasswd.c groupadd.c groupdel.c groupmems.c \
groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c \
- lastlog.c $(login_SOURCES) logoutd.c newgidmap.c newgrp.c \
- newuidmap.c newusers.c nologin.c passwd.c pwck.c pwconv.c \
- pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \
- usermod.c vipw.c
+ lastlog.c list_subid_ranges.c $(login_SOURCES) logoutd.c \
+ new_subid_range.c newgidmap.c newgrp.c newuidmap.c newusers.c \
+ nologin.c passwd.c pwck.c pwconv.c pwunconv.c $(su_SOURCES) \
+ sulogin.c useradd.c userdel.c usermod.c vipw.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -423,7 +471,6 @@ ECONF_CPPFLAGS = @ECONF_CPPFLAGS@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -452,9 +499,14 @@ LIBS = @LIBS@
LIBSELINUX = @LIBSELINUX@
LIBSEMANAGE = @LIBSEMANAGE@
LIBSKEY = @LIBSKEY@
+LIBSUBID_ABI = @LIBSUBID_ABI@
+LIBSUBID_ABI_MAJOR = @LIBSUBID_ABI_MAJOR@
+LIBSUBID_ABI_MICRO = @LIBSUBID_ABI_MICRO@
+LIBSUBID_ABI_MINOR = @LIBSUBID_ABI_MINOR@
LIBTCB = @LIBTCB@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
+LIYESCRYPT = @LIYESCRYPT@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
@@ -492,7 +544,6 @@ VENDORDIR = @VENDORDIR@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
@@ -570,7 +621,7 @@ suidubins = chage chfn chsh expiry gpasswd newgrp $(am__append_4) \
$(am__append_6)
@WITH_TCB_TRUE@shadowsgidubins = passwd
LDADD = $(INTLLIBS) \
- $(top_builddir)/libmisc/libmisc.a \
+ $(top_builddir)/libmisc/libmisc.la \
$(top_builddir)/lib/libshadow.la \
$(LIBTCB)
@@ -579,18 +630,18 @@ LDADD = $(INTLLIBS) \
@USE_PAM_FALSE@LIBCRYPT_NOPAM = $(LIBCRYPT)
@USE_PAM_TRUE@LIBCRYPT_NOPAM =
chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP)
-newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP)
+newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
+newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) -ldl
chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
expiry_LDADD = $(LDADD) $(LIBECONF)
gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
-groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
+groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
-groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl
grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
@@ -601,7 +652,7 @@ login_SOURCES = \
login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF)
-newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
+newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl
nologin_LDADD =
passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF)
pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
@@ -613,10 +664,74 @@ su_SOURCES = \
su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
-useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
-userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
-usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
+userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl
+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl
vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+@ENABLE_SUBIDS_TRUE@MISCLIBS = \
+@ENABLE_SUBIDS_TRUE@ $(LIBAUDIT) \
+@ENABLE_SUBIDS_TRUE@ $(LIBSELINUX) \
+@ENABLE_SUBIDS_TRUE@ $(LIBSEMANAGE) \
+@ENABLE_SUBIDS_TRUE@ $(LIBCRYPT_NOPAM) \
+@ENABLE_SUBIDS_TRUE@ $(LIBSKEY) \
+@ENABLE_SUBIDS_TRUE@ $(LIBMD) \
+@ENABLE_SUBIDS_TRUE@ $(LIBECONF) \
+@ENABLE_SUBIDS_TRUE@ $(LIBCRYPT) \
+@ENABLE_SUBIDS_TRUE@ $(LIBTCB)
+
+@ENABLE_SUBIDS_TRUE@list_subid_ranges_LDADD = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl
+
+@ENABLE_SUBIDS_TRUE@list_subid_ranges_CPPFLAGS = \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid
+
+@ENABLE_SUBIDS_TRUE@get_subid_owners_LDADD = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl
+
+@ENABLE_SUBIDS_TRUE@get_subid_owners_CPPFLAGS = \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid
+
+@ENABLE_SUBIDS_TRUE@new_subid_range_CPPFLAGS = \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid
+
+@ENABLE_SUBIDS_TRUE@new_subid_range_LDADD = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl
+
+@ENABLE_SUBIDS_TRUE@free_subid_range_CPPFLAGS = \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid
+
+@ENABLE_SUBIDS_TRUE@free_subid_range_LDADD = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \
+@ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl
+
+@ENABLE_SUBIDS_TRUE@check_subid_range_CPPFLAGS = \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \
+@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc
+
+@ENABLE_SUBIDS_TRUE@check_subid_range_LDADD = \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \
+@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \
+@ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl
+
all: all-am
.SUFFIXES:
@@ -638,8 +753,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -860,6 +975,10 @@ chage$(EXEEXT): $(chage_OBJECTS) $(chage_DEPENDENCIES) $(EXTRA_chage_DEPENDENCIE
@rm -f chage$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(chage_OBJECTS) $(chage_LDADD) $(LIBS)
+check_subid_range$(EXEEXT): $(check_subid_range_OBJECTS) $(check_subid_range_DEPENDENCIES) $(EXTRA_check_subid_range_DEPENDENCIES)
+ @rm -f check_subid_range$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_subid_range_OBJECTS) $(check_subid_range_LDADD) $(LIBS)
+
chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES) $(EXTRA_chfn_DEPENDENCIES)
@rm -f chfn$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS)
@@ -884,6 +1003,14 @@ faillog$(EXEEXT): $(faillog_OBJECTS) $(faillog_DEPENDENCIES) $(EXTRA_faillog_DEP
@rm -f faillog$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(faillog_OBJECTS) $(faillog_LDADD) $(LIBS)
+free_subid_range$(EXEEXT): $(free_subid_range_OBJECTS) $(free_subid_range_DEPENDENCIES) $(EXTRA_free_subid_range_DEPENDENCIES)
+ @rm -f free_subid_range$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(free_subid_range_OBJECTS) $(free_subid_range_LDADD) $(LIBS)
+
+get_subid_owners$(EXEEXT): $(get_subid_owners_OBJECTS) $(get_subid_owners_DEPENDENCIES) $(EXTRA_get_subid_owners_DEPENDENCIES)
+ @rm -f get_subid_owners$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(get_subid_owners_OBJECTS) $(get_subid_owners_LDADD) $(LIBS)
+
gpasswd$(EXEEXT): $(gpasswd_OBJECTS) $(gpasswd_DEPENDENCIES) $(EXTRA_gpasswd_DEPENDENCIES)
@rm -f gpasswd$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(gpasswd_OBJECTS) $(gpasswd_LDADD) $(LIBS)
@@ -928,6 +1055,10 @@ lastlog$(EXEEXT): $(lastlog_OBJECTS) $(lastlog_DEPENDENCIES) $(EXTRA_lastlog_DEP
@rm -f lastlog$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(lastlog_OBJECTS) $(lastlog_LDADD) $(LIBS)
+list_subid_ranges$(EXEEXT): $(list_subid_ranges_OBJECTS) $(list_subid_ranges_DEPENDENCIES) $(EXTRA_list_subid_ranges_DEPENDENCIES)
+ @rm -f list_subid_ranges$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(list_subid_ranges_OBJECTS) $(list_subid_ranges_LDADD) $(LIBS)
+
login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES) $(EXTRA_login_DEPENDENCIES)
@rm -f login$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(login_OBJECTS) $(login_LDADD) $(LIBS)
@@ -936,6 +1067,10 @@ logoutd$(EXEEXT): $(logoutd_OBJECTS) $(logoutd_DEPENDENCIES) $(EXTRA_logoutd_DEP
@rm -f logoutd$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(logoutd_OBJECTS) $(logoutd_LDADD) $(LIBS)
+new_subid_range$(EXEEXT): $(new_subid_range_OBJECTS) $(new_subid_range_DEPENDENCIES) $(EXTRA_new_subid_range_DEPENDENCIES)
+ @rm -f new_subid_range$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(new_subid_range_OBJECTS) $(new_subid_range_LDADD) $(LIBS)
+
newgidmap$(EXEEXT): $(newgidmap_OBJECTS) $(newgidmap_DEPENDENCIES) $(EXTRA_newgidmap_DEPENDENCIES)
@rm -f newgidmap$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(newgidmap_OBJECTS) $(newgidmap_LDADD) $(LIBS)
@@ -1002,49 +1137,48 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chage.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chgpasswd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chpasswd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expiry.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faillog.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpasswd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupadd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupdel.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmems.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmod.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groups.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpck.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpconv.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpunconv.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lastlog.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_nopam.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logoutd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgidmap.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newuidmap.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newusers.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nologin.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwck.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwconv.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwunconv.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/su.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/suauth.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulogin.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/useradd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userdel.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usermod.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vipw.Po@am__quote@ # am--include-marker
-
-$(am__depfiles_remade):
- @$(MKDIR_P) $(@D)
- @echo '# dummy' >$@-t && $(am__mv) $@-t $@
-
-am--depfiles: $(am__depfiles_remade)
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chage.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_subid_range-check_subid_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chgpasswd.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)/free_subid_range-free_subid_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get_subid_owners-get_subid_owners.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)/groupmems.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)/list_subid_ranges-list_subid_ranges.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_nopam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logoutd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/new_subid_range-new_subid_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgidmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newuidmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newusers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nologin.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:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1067,6 +1201,76 @@ am--depfiles: $(am__depfiles_remade)
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+check_subid_range-check_subid_range.o: check_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_subid_range-check_subid_range.o -MD -MP -MF $(DEPDIR)/check_subid_range-check_subid_range.Tpo -c -o check_subid_range-check_subid_range.o `test -f 'check_subid_range.c' || echo '$(srcdir)/'`check_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_subid_range-check_subid_range.Tpo $(DEPDIR)/check_subid_range-check_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check_subid_range.c' object='check_subid_range-check_subid_range.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_subid_range-check_subid_range.o `test -f 'check_subid_range.c' || echo '$(srcdir)/'`check_subid_range.c
+
+check_subid_range-check_subid_range.obj: check_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT check_subid_range-check_subid_range.obj -MD -MP -MF $(DEPDIR)/check_subid_range-check_subid_range.Tpo -c -o check_subid_range-check_subid_range.obj `if test -f 'check_subid_range.c'; then $(CYGPATH_W) 'check_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/check_subid_range.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/check_subid_range-check_subid_range.Tpo $(DEPDIR)/check_subid_range-check_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check_subid_range.c' object='check_subid_range-check_subid_range.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(check_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o check_subid_range-check_subid_range.obj `if test -f 'check_subid_range.c'; then $(CYGPATH_W) 'check_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/check_subid_range.c'; fi`
+
+free_subid_range-free_subid_range.o: free_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(free_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT free_subid_range-free_subid_range.o -MD -MP -MF $(DEPDIR)/free_subid_range-free_subid_range.Tpo -c -o free_subid_range-free_subid_range.o `test -f 'free_subid_range.c' || echo '$(srcdir)/'`free_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/free_subid_range-free_subid_range.Tpo $(DEPDIR)/free_subid_range-free_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='free_subid_range.c' object='free_subid_range-free_subid_range.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(free_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o free_subid_range-free_subid_range.o `test -f 'free_subid_range.c' || echo '$(srcdir)/'`free_subid_range.c
+
+free_subid_range-free_subid_range.obj: free_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(free_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT free_subid_range-free_subid_range.obj -MD -MP -MF $(DEPDIR)/free_subid_range-free_subid_range.Tpo -c -o free_subid_range-free_subid_range.obj `if test -f 'free_subid_range.c'; then $(CYGPATH_W) 'free_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/free_subid_range.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/free_subid_range-free_subid_range.Tpo $(DEPDIR)/free_subid_range-free_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='free_subid_range.c' object='free_subid_range-free_subid_range.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(free_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o free_subid_range-free_subid_range.obj `if test -f 'free_subid_range.c'; then $(CYGPATH_W) 'free_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/free_subid_range.c'; fi`
+
+get_subid_owners-get_subid_owners.o: get_subid_owners.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_subid_owners_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT get_subid_owners-get_subid_owners.o -MD -MP -MF $(DEPDIR)/get_subid_owners-get_subid_owners.Tpo -c -o get_subid_owners-get_subid_owners.o `test -f 'get_subid_owners.c' || echo '$(srcdir)/'`get_subid_owners.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/get_subid_owners-get_subid_owners.Tpo $(DEPDIR)/get_subid_owners-get_subid_owners.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_subid_owners.c' object='get_subid_owners-get_subid_owners.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_subid_owners_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o get_subid_owners-get_subid_owners.o `test -f 'get_subid_owners.c' || echo '$(srcdir)/'`get_subid_owners.c
+
+get_subid_owners-get_subid_owners.obj: get_subid_owners.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_subid_owners_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT get_subid_owners-get_subid_owners.obj -MD -MP -MF $(DEPDIR)/get_subid_owners-get_subid_owners.Tpo -c -o get_subid_owners-get_subid_owners.obj `if test -f 'get_subid_owners.c'; then $(CYGPATH_W) 'get_subid_owners.c'; else $(CYGPATH_W) '$(srcdir)/get_subid_owners.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/get_subid_owners-get_subid_owners.Tpo $(DEPDIR)/get_subid_owners-get_subid_owners.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_subid_owners.c' object='get_subid_owners-get_subid_owners.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_subid_owners_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o get_subid_owners-get_subid_owners.obj `if test -f 'get_subid_owners.c'; then $(CYGPATH_W) 'get_subid_owners.c'; else $(CYGPATH_W) '$(srcdir)/get_subid_owners.c'; fi`
+
+list_subid_ranges-list_subid_ranges.o: list_subid_ranges.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(list_subid_ranges_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT list_subid_ranges-list_subid_ranges.o -MD -MP -MF $(DEPDIR)/list_subid_ranges-list_subid_ranges.Tpo -c -o list_subid_ranges-list_subid_ranges.o `test -f 'list_subid_ranges.c' || echo '$(srcdir)/'`list_subid_ranges.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/list_subid_ranges-list_subid_ranges.Tpo $(DEPDIR)/list_subid_ranges-list_subid_ranges.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='list_subid_ranges.c' object='list_subid_ranges-list_subid_ranges.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(list_subid_ranges_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o list_subid_ranges-list_subid_ranges.o `test -f 'list_subid_ranges.c' || echo '$(srcdir)/'`list_subid_ranges.c
+
+list_subid_ranges-list_subid_ranges.obj: list_subid_ranges.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(list_subid_ranges_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT list_subid_ranges-list_subid_ranges.obj -MD -MP -MF $(DEPDIR)/list_subid_ranges-list_subid_ranges.Tpo -c -o list_subid_ranges-list_subid_ranges.obj `if test -f 'list_subid_ranges.c'; then $(CYGPATH_W) 'list_subid_ranges.c'; else $(CYGPATH_W) '$(srcdir)/list_subid_ranges.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/list_subid_ranges-list_subid_ranges.Tpo $(DEPDIR)/list_subid_ranges-list_subid_ranges.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='list_subid_ranges.c' object='list_subid_ranges-list_subid_ranges.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(list_subid_ranges_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o list_subid_ranges-list_subid_ranges.obj `if test -f 'list_subid_ranges.c'; then $(CYGPATH_W) 'list_subid_ranges.c'; else $(CYGPATH_W) '$(srcdir)/list_subid_ranges.c'; fi`
+
+new_subid_range-new_subid_range.o: new_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(new_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT new_subid_range-new_subid_range.o -MD -MP -MF $(DEPDIR)/new_subid_range-new_subid_range.Tpo -c -o new_subid_range-new_subid_range.o `test -f 'new_subid_range.c' || echo '$(srcdir)/'`new_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/new_subid_range-new_subid_range.Tpo $(DEPDIR)/new_subid_range-new_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='new_subid_range.c' object='new_subid_range-new_subid_range.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(new_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o new_subid_range-new_subid_range.o `test -f 'new_subid_range.c' || echo '$(srcdir)/'`new_subid_range.c
+
+new_subid_range-new_subid_range.obj: new_subid_range.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(new_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT new_subid_range-new_subid_range.obj -MD -MP -MF $(DEPDIR)/new_subid_range-new_subid_range.Tpo -c -o new_subid_range-new_subid_range.obj `if test -f 'new_subid_range.c'; then $(CYGPATH_W) 'new_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/new_subid_range.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/new_subid_range-new_subid_range.Tpo $(DEPDIR)/new_subid_range-new_subid_range.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='new_subid_range.c' object='new_subid_range-new_subid_range.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(new_subid_range_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o new_subid_range-new_subid_range.obj `if test -f 'new_subid_range.c'; then $(CYGPATH_W) 'new_subid_range.c'; else $(CYGPATH_W) '$(srcdir)/new_subid_range.c'; fi`
+
mostlyclean-libtool:
-rm -f *.lo
@@ -1125,10 +1329,7 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
+distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -1199,43 +1400,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool \
clean-usbinPROGRAMS mostlyclean-am
distclean: distclean-am
- -rm -f ./$(DEPDIR)/chage.Po
- -rm -f ./$(DEPDIR)/chfn.Po
- -rm -f ./$(DEPDIR)/chgpasswd.Po
- -rm -f ./$(DEPDIR)/chpasswd.Po
- -rm -f ./$(DEPDIR)/chsh.Po
- -rm -f ./$(DEPDIR)/expiry.Po
- -rm -f ./$(DEPDIR)/faillog.Po
- -rm -f ./$(DEPDIR)/gpasswd.Po
- -rm -f ./$(DEPDIR)/groupadd.Po
- -rm -f ./$(DEPDIR)/groupdel.Po
- -rm -f ./$(DEPDIR)/groupmems.Po
- -rm -f ./$(DEPDIR)/groupmod.Po
- -rm -f ./$(DEPDIR)/groups.Po
- -rm -f ./$(DEPDIR)/grpck.Po
- -rm -f ./$(DEPDIR)/grpconv.Po
- -rm -f ./$(DEPDIR)/grpunconv.Po
- -rm -f ./$(DEPDIR)/id.Po
- -rm -f ./$(DEPDIR)/lastlog.Po
- -rm -f ./$(DEPDIR)/login.Po
- -rm -f ./$(DEPDIR)/login_nopam.Po
- -rm -f ./$(DEPDIR)/logoutd.Po
- -rm -f ./$(DEPDIR)/newgidmap.Po
- -rm -f ./$(DEPDIR)/newgrp.Po
- -rm -f ./$(DEPDIR)/newuidmap.Po
- -rm -f ./$(DEPDIR)/newusers.Po
- -rm -f ./$(DEPDIR)/nologin.Po
- -rm -f ./$(DEPDIR)/passwd.Po
- -rm -f ./$(DEPDIR)/pwck.Po
- -rm -f ./$(DEPDIR)/pwconv.Po
- -rm -f ./$(DEPDIR)/pwunconv.Po
- -rm -f ./$(DEPDIR)/su.Po
- -rm -f ./$(DEPDIR)/suauth.Po
- -rm -f ./$(DEPDIR)/sulogin.Po
- -rm -f ./$(DEPDIR)/useradd.Po
- -rm -f ./$(DEPDIR)/userdel.Po
- -rm -f ./$(DEPDIR)/usermod.Po
- -rm -f ./$(DEPDIR)/vipw.Po
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -1281,43 +1446,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -f ./$(DEPDIR)/chage.Po
- -rm -f ./$(DEPDIR)/chfn.Po
- -rm -f ./$(DEPDIR)/chgpasswd.Po
- -rm -f ./$(DEPDIR)/chpasswd.Po
- -rm -f ./$(DEPDIR)/chsh.Po
- -rm -f ./$(DEPDIR)/expiry.Po
- -rm -f ./$(DEPDIR)/faillog.Po
- -rm -f ./$(DEPDIR)/gpasswd.Po
- -rm -f ./$(DEPDIR)/groupadd.Po
- -rm -f ./$(DEPDIR)/groupdel.Po
- -rm -f ./$(DEPDIR)/groupmems.Po
- -rm -f ./$(DEPDIR)/groupmod.Po
- -rm -f ./$(DEPDIR)/groups.Po
- -rm -f ./$(DEPDIR)/grpck.Po
- -rm -f ./$(DEPDIR)/grpconv.Po
- -rm -f ./$(DEPDIR)/grpunconv.Po
- -rm -f ./$(DEPDIR)/id.Po
- -rm -f ./$(DEPDIR)/lastlog.Po
- -rm -f ./$(DEPDIR)/login.Po
- -rm -f ./$(DEPDIR)/login_nopam.Po
- -rm -f ./$(DEPDIR)/logoutd.Po
- -rm -f ./$(DEPDIR)/newgidmap.Po
- -rm -f ./$(DEPDIR)/newgrp.Po
- -rm -f ./$(DEPDIR)/newuidmap.Po
- -rm -f ./$(DEPDIR)/newusers.Po
- -rm -f ./$(DEPDIR)/nologin.Po
- -rm -f ./$(DEPDIR)/passwd.Po
- -rm -f ./$(DEPDIR)/pwck.Po
- -rm -f ./$(DEPDIR)/pwconv.Po
- -rm -f ./$(DEPDIR)/pwunconv.Po
- -rm -f ./$(DEPDIR)/su.Po
- -rm -f ./$(DEPDIR)/suauth.Po
- -rm -f ./$(DEPDIR)/sulogin.Po
- -rm -f ./$(DEPDIR)/useradd.Po
- -rm -f ./$(DEPDIR)/userdel.Po
- -rm -f ./$(DEPDIR)/usermod.Po
- -rm -f ./$(DEPDIR)/vipw.Po
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1339,7 +1468,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-sbinPROGRAMS \
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool \
clean-noinstPROGRAMS clean-sbinPROGRAMS clean-ubinPROGRAMS \
clean-usbinPROGRAMS cscopelist-am ctags ctags-am distclean \
diff --git a/src/chage.c b/src/chage.c
index bcc58c95..f0dc0067 100644
--- a/src/chage.c
+++ b/src/chage.c
@@ -62,6 +62,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool
dflg = false, /* set last password change date */
@@ -203,10 +204,10 @@ static int new_fields (void)
return 0;
}
- if (-1 == lstchgdate) {
+ if (-1 == lstchgdate || lstchgdate > LONG_MAX / SCALE) {
strcpy (buf, "-1");
} else {
- date_to_str (buf, sizeof buf, (time_t) lstchgdate * SCALE);
+ date_to_str (buf, sizeof buf, (time_t) (lstchgdate * SCALE));
}
change_field (buf, sizeof buf, _("Last Password Change (YYYY-MM-DD)"));
@@ -234,10 +235,10 @@ static int new_fields (void)
return 0;
}
- if (-1 == expdate) {
+ if (-1 == expdate || LONG_MAX / SCALE < expdate) {
strcpy (buf, "-1");
} else {
- date_to_str (buf, sizeof buf, (time_t) expdate * SCALE);
+ date_to_str (buf, sizeof buf, (time_t) (expdate * SCALE));
}
change_field (buf, sizeof buf,
@@ -309,7 +310,7 @@ static void list_fields (void)
* was last modified. The date is the number of days since 1/1/1970.
*/
(void) fputs (_("Last password change\t\t\t\t\t: "), stdout);
- if (lstchgdate < 0) {
+ if (lstchgdate < 0 || lstchgdate > LONG_MAX / SCALE) {
(void) puts (_("never"));
} else if (lstchgdate == 0) {
(void) puts (_("password must be changed"));
@@ -327,7 +328,8 @@ static void list_fields (void)
(void) puts (_("password must be changed"));
} else if ( (lstchgdate < 0)
|| (maxdays >= (10000 * (DAY / SCALE)))
- || (maxdays < 0)) {
+ || (maxdays < 0)
+ || ((LONG_MAX - changed) / SCALE < maxdays)) {
(void) puts (_("never"));
} else {
expires = changed + maxdays * SCALE;
@@ -346,7 +348,9 @@ static void list_fields (void)
} else if ( (lstchgdate < 0)
|| (inactdays < 0)
|| (maxdays >= (10000 * (DAY / SCALE)))
- || (maxdays < 0)) {
+ || (maxdays < 0)
+ || (maxdays > LONG_MAX - inactdays)
+ || ((LONG_MAX - changed) / SCALE < maxdays + inactdays)) {
(void) puts (_("never"));
} else {
expires = changed + (maxdays + inactdays) * SCALE;
@@ -358,7 +362,7 @@ static void list_fields (void)
* password expiring or not.
*/
(void) fputs (_("Account expires\t\t\t\t\t\t: "), stdout);
- if (expdate < 0) {
+ if (expdate < 0 || LONG_MAX / SCALE < expdate) {
(void) puts (_("never"));
} else {
expires = expdate * SCALE;
@@ -811,6 +815,7 @@ int main (int argc, char **argv)
* Get the program name so that error messages can use it.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
sanitize_env ();
(void) setlocale (LC_ALL, "");
diff --git a/src/check_subid_range.c b/src/check_subid_range.c
new file mode 100644
index 00000000..8a9d5258
--- /dev/null
+++ b/src/check_subid_range.c
@@ -0,0 +1,50 @@
+// This program is for testing purposes only.
+// usage is "[program] owner [u|g] start count
+// Exits 0 if owner has subid range starting start, of size count
+// Exits 1 otherwise.
+
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include "defines.h"
+#include "prototypes.h"
+#include "subordinateio.h"
+#include "idmapping.h"
+
+const char *Prog;
+FILE *shadow_logfd = NULL;
+
+int main(int argc, char **argv)
+{
+ char *owner;
+ unsigned long start, count;
+ bool check_uids;
+ Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
+
+ if (argc != 5)
+ exit(1);
+
+ owner = argv[1];
+ check_uids = argv[2][0] == 'u';
+ start = strtoul(argv[3], NULL, 10);
+ if (start == ULONG_MAX && errno == ERANGE)
+ exit(1);
+ count = strtoul(argv[4], NULL, 10);
+ if (count == ULONG_MAX && errno == ERANGE)
+ exit(1);
+ if (check_uids) {
+ if (have_sub_uids(owner, start, count))
+ exit(0);
+ exit(1);
+ }
+ if (have_sub_gids(owner, start, count))
+ exit(0);
+ exit(1);
+}
diff --git a/src/chfn.c b/src/chfn.c
index b2658fcf..fc529c0b 100644
--- a/src/chfn.c
+++ b/src/chfn.c
@@ -57,11 +57,12 @@
* Global variables.
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char fullnm[BUFSIZ];
static char roomno[BUFSIZ];
static char workph[BUFSIZ];
static char homeph[BUFSIZ];
-static char slop[BUFSIZ];
+static char slop[BUFSIZ + 1 + 80];
static bool amroot;
/* Flags */
static bool fflg = false; /* -f - set full name */
@@ -311,6 +312,11 @@ static void process_flags (int argc, char **argv)
exit (E_NOPERM);
}
oflg = true;
+ if (strlen (optarg) > (unsigned int) 80) {
+ fprintf (stderr,
+ _("%s: fields too long\n"), Prog);
+ exit (E_NOPERM);
+ }
STRFCPY (slop, optarg);
break;
case 'r':
@@ -634,6 +640,7 @@ int main (int argc, char **argv)
* prefix to most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
sanitize_env ();
(void) setlocale (LC_ALL, "");
diff --git a/src/chgpasswd.c b/src/chgpasswd.c
index 4013abb3..56f3e882 100644
--- a/src/chgpasswd.c
+++ b/src/chgpasswd.c
@@ -59,11 +59,12 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool eflg = false;
static bool md5flg = false;
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
static bool sflg = false;
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
static /*@null@*//*@observer@*/const char *crypt_method = NULL;
#define cflg (NULL != crypt_method)
@@ -73,6 +74,9 @@ static long sha_rounds = 5000;
#ifdef USE_BCRYPT
static long bcrypt_rounds = 13;
#endif
+#ifdef USE_YESCRYPT
+static long yescrypt_cost = 5;
+#endif
#ifdef SHADOWGRP
static bool is_shadow_grp;
@@ -128,14 +132,15 @@ static /*@noreturn@*/void usage (int status)
Prog);
(void) fprintf (usageout,
_(" -c, --crypt-method METHOD the crypt method (one of %s)\n"),
-#if !defined(USE_SHA_CRYPT) && !defined(USE_BCRYPT)
"NONE DES MD5"
-#elif defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
- "NONE DES MD5 SHA256 SHA512 BCRYPT"
-#elif defined(USE_SHA_CRYPT)
- "NONE DES MD5 SHA256 SHA512"
-#else
- "NONE DES MD5 BCRYPT"
+#if defined(USE_SHA_CRYPT)
+ " SHA256 SHA512"
+#endif
+#if defined(USE_BCRYPT)
+ " BCRYPT"
+#endif
+#if defined(USE_YESCRYPT)
+ " YESCRYPT"
#endif
);
(void) fputs (_(" -e, --encrypted supplied passwords are encrypted\n"), usageout);
@@ -144,11 +149,11 @@ static /*@noreturn@*/void usage (int status)
" the MD5 algorithm\n"),
usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
- (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
- " crypt algorithms\n"),
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+ " or YESCRYPT crypt algorithms\n"),
usageout);
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
(void) fputs ("\n", usageout);
exit (status);
@@ -162,19 +167,22 @@ static /*@noreturn@*/void usage (int status)
static void process_flags (int argc, char **argv)
{
int c;
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ int bad_s;
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
static struct option long_options[] = {
{"crypt-method", required_argument, NULL, 'c'},
{"encrypted", no_argument, NULL, 'e'},
{"help", no_argument, NULL, 'h'},
{"md5", no_argument, NULL, 'm'},
{"root", required_argument, NULL, 'R'},
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
{"sha-rounds", required_argument, NULL, 's'},
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
{NULL, 0, NULL, '\0'}
};
while ((c = getopt_long (argc, argv,
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
"c:ehmR:s:",
#else
"c:ehmR:",
@@ -195,40 +203,36 @@ static void process_flags (int argc, char **argv)
break;
case 'R': /* no-op, handled in process_root_flag () */
break;
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
case 's':
sflg = true;
+ bad_s = 0;
+#if defined(USE_SHA_CRYPT)
if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512")))
- && (0 == getlong(optarg, &sha_rounds)))
- || ( (0 == strcmp (crypt_method, "BCRYPT"))
+ && (0 == getlong(optarg, &sha_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
+ if (( (0 == strcmp (crypt_method, "BCRYPT"))
&& (0 == getlong(optarg, &bcrypt_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
+ if (( (0 == strcmp (crypt_method, "YESCRYPT"))
+ && (0 == getlong(optarg, &yescrypt_cost)))) {
+ bad_s = 1;
+ }
+#endif /* USE_YESCRYPT */
+ if (bad_s != 0) {
fprintf (stderr,
_("%s: invalid numeric argument '%s'\n"),
Prog, optarg);
usage (E_USAGE);
}
break;
-#elif defined(USE_SHA_CRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &sha_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (E_USAGE);
- }
- break;
-#elif defined(USE_BCRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &bcrypt_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (E_USAGE);
- }
- break;
-#endif
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
default:
usage (E_USAGE);
@@ -247,7 +251,7 @@ static void process_flags (int argc, char **argv)
*/
static void check_flags (void)
{
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
if (sflg && !cflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
@@ -271,10 +275,13 @@ static void check_flags (void)
#ifdef USE_SHA_CRYPT
&& (0 != strcmp (crypt_method, "SHA256"))
&& (0 != strcmp (crypt_method, "SHA512"))
-#endif
+#endif /* USE_SHA_CRYPT */
#ifdef USE_BCRYPT
&& (0 != strcmp (crypt_method, "BCRYPT"))
-#endif
+#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+ && (0 != strcmp (crypt_method, "YESCRYPT"))
+#endif /* USE_YESCRYPT */
) {
fprintf (stderr,
_("%s: unsupported crypt method: %s\n"),
@@ -431,6 +438,7 @@ int main (int argc, char **argv)
int line = 0;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
@@ -497,23 +505,24 @@ int main (int argc, char **argv)
if (md5flg) {
crypt_method = "MD5";
}
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
if (sflg) {
+#if defined(USE_SHA_CRYPT)
if ( (0 == strcmp (crypt_method, "SHA256"))
|| (0 == strcmp (crypt_method, "SHA512"))) {
arg = &sha_rounds;
}
- else if (0 == strcmp (crypt_method, "BCRYPT")) {
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
+ if (0 == strcmp (crypt_method, "BCRYPT")) {
arg = &bcrypt_rounds;
}
- }
-#elif defined(USE_SHA_CRYPT)
- if (sflg) {
- arg = &sha_rounds;
- }
-#elif defined(USE_BCRYPT)
- if (sflg) {
- arg = &bcrypt_rounds;
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
+ if (0 == strcmp (crypt_method, "YESCRYPT")) {
+ arg = &yescrypt_cost;
+ }
+#endif /* USE_YESCRYPT */
}
#endif
salt = crypt_make_salt (crypt_method, arg);
diff --git a/src/chpasswd.c b/src/chpasswd.c
index be61e038..8a012273 100644
--- a/src/chpasswd.c
+++ b/src/chpasswd.c
@@ -56,9 +56,10 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool eflg = false;
static bool md5flg = false;
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
static bool sflg = false;
#endif
@@ -70,6 +71,9 @@ static long sha_rounds = 5000;
#ifdef USE_BCRYPT
static long bcrypt_rounds = 13;
#endif
+#ifdef USE_YESCRYPT
+static long yescrypt_cost = 5;
+#endif
static bool is_shadow_pwd;
static bool pw_locked = false;
@@ -121,14 +125,15 @@ static /*@noreturn@*/void usage (int status)
Prog);
(void) fprintf (usageout,
_(" -c, --crypt-method METHOD the crypt method (one of %s)\n"),
-#if !defined(USE_SHA_CRYPT) && !defined(USE_BCRYPT)
"NONE DES MD5"
-#elif defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
- "NONE DES MD5 SHA256 SHA512 BCRYPT"
-#elif defined(USE_SHA_CRYPT)
- "NONE DES MD5 SHA256 SHA512"
-#else
- "NONE DES MD5 BCRYPT"
+#if defined(USE_SHA_CRYPT)
+ " SHA256 SHA512"
+#endif
+#if defined(USE_BCRYPT)
+ " BCRYPT"
+#endif
+#if defined(USE_YESCRYPT)
+ " YESCRYPT"
#endif
);
(void) fputs (_(" -e, --encrypted supplied passwords are encrypted\n"), usageout);
@@ -137,11 +142,11 @@ static /*@noreturn@*/void usage (int status)
" the MD5 algorithm\n"),
usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
- (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
- " crypt algorithms\n"),
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+ " or YESCRYPT crypt algorithms\n"),
usageout);
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
(void) fputs ("\n", usageout);
exit (status);
@@ -155,20 +160,23 @@ static /*@noreturn@*/void usage (int status)
static void process_flags (int argc, char **argv)
{
int c;
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ int bad_s;
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
static struct option long_options[] = {
{"crypt-method", required_argument, NULL, 'c'},
{"encrypted", no_argument, NULL, 'e'},
{"help", no_argument, NULL, 'h'},
{"md5", no_argument, NULL, 'm'},
{"root", required_argument, NULL, 'R'},
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
{"sha-rounds", required_argument, NULL, 's'},
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
{NULL, 0, NULL, '\0'}
};
while ((c = getopt_long (argc, argv,
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
"c:ehmR:s:",
#else
"c:ehmR:",
@@ -189,40 +197,36 @@ static void process_flags (int argc, char **argv)
break;
case 'R': /* no-op, handled in process_root_flag () */
break;
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
case 's':
sflg = true;
+ bad_s = 0;
+#if defined(USE_SHA_CRYPT)
if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512")))
- && (0 == getlong(optarg, &sha_rounds)))
- || ( (0 == strcmp (crypt_method, "BCRYPT"))
+ && (0 == getlong(optarg, &sha_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
+ if (( (0 == strcmp (crypt_method, "BCRYPT"))
&& (0 == getlong(optarg, &bcrypt_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
+ if (( (0 == strcmp (crypt_method, "YESCRYPT"))
+ && (0 == getlong(optarg, &yescrypt_cost)))) {
+ bad_s = 1;
+ }
+#endif /* USE_YESCRYPT */
+ if (bad_s != 0) {
fprintf (stderr,
_("%s: invalid numeric argument '%s'\n"),
Prog, optarg);
usage (E_USAGE);
}
break;
-#elif defined(USE_SHA_CRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &sha_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (E_USAGE);
- }
- break;
-#elif defined(USE_BCRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &bcrypt_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (E_USAGE);
- }
- break;
-#endif
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
default:
usage (E_USAGE);
@@ -241,7 +245,7 @@ static void process_flags (int argc, char **argv)
*/
static void check_flags (void)
{
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
if (sflg && !cflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
@@ -269,6 +273,9 @@ static void check_flags (void)
#ifdef USE_BCRYPT
&& (0 != strcmp (crypt_method, "BCRYPT"))
#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+ && (0 != strcmp (crypt_method, "YESCRYPT"))
+#endif /* USE_YESCRYPT */
) {
fprintf (stderr,
_("%s: unsupported crypt method: %s\n"),
@@ -423,6 +430,7 @@ int main (int argc, char **argv)
int line = 0;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
@@ -530,23 +538,24 @@ int main (int argc, char **argv)
if (md5flg) {
crypt_method = "MD5";
}
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
if (sflg) {
+#if defined(USE_SHA_CRYPT)
if ( (0 == strcmp (crypt_method, "SHA256"))
|| (0 == strcmp (crypt_method, "SHA512"))) {
arg = &sha_rounds;
}
- else if (0 == strcmp (crypt_method, "BCRYPT")) {
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
+ if (0 == strcmp (crypt_method, "BCRYPT")) {
arg = &bcrypt_rounds;
}
- }
-#elif defined(USE_SHA_CRYPT)
- if (sflg) {
- arg = &sha_rounds;
- }
-#elif defined(USE_BCRYPT)
- if (sflg) {
- arg = &bcrypt_rounds;
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
+ if (0 == strcmp (crypt_method, "YESCRYPT")) {
+ arg = &yescrypt_cost;
+ }
+#endif /* USE_YESCRYPT */
}
#endif
salt = crypt_make_salt (crypt_method, arg);
diff --git a/src/chsh.c b/src/chsh.c
index 06edf407..1cafb8b6 100644
--- a/src/chsh.c
+++ b/src/chsh.c
@@ -59,6 +59,7 @@
* Global variables
*/
const char *Prog; /* Program name */
+FILE *shadow_logfd = NULL;
static bool amroot; /* Real UID is root */
static char loginsh[BUFSIZ]; /* Name of new login shell */
/* command line options */
@@ -441,6 +442,7 @@ int main (int argc, char **argv)
* most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/expiry.c b/src/expiry.c
index 41add942..1d200716 100644
--- a/src/expiry.c
+++ b/src/expiry.c
@@ -46,6 +46,7 @@
/* Global variables */
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool cflg = false;
/* local function prototypes */
@@ -144,6 +145,7 @@ int main (int argc, char **argv)
struct spwd *spwd;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
sanitize_env ();
diff --git a/src/faillog.c b/src/faillog.c
index 1309dad4..d09f1511 100644
--- a/src/faillog.c
+++ b/src/faillog.c
@@ -62,6 +62,7 @@ static void reset (void);
* Global variables
*/
const char *Prog; /* Program name */
+FILE *shadow_logfd = NULL;
static FILE *fail; /* failure file stream */
static time_t seconds; /* that number of days in seconds */
static unsigned long umin; /* if uflg and has_umin, only display users with uid >= umin */
@@ -163,6 +164,10 @@ static void print_one (/*@null@*/const struct passwd *pw, bool force)
}
tm = localtime (&fl.fail_time);
+ if (!tm) {
+ fprintf (stderr, "Cannot read time from faillog.\n");
+ return;
+ }
#ifdef HAVE_STRFTIME
strftime (ptime, sizeof (ptime), "%D %H:%M:%S %z", tm);
cp = ptime;
@@ -569,6 +574,7 @@ int main (int argc, char **argv)
* most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/free_subid_range.c b/src/free_subid_range.c
new file mode 100644
index 00000000..1e666371
--- /dev/null
+++ b/src/free_subid_range.c
@@ -0,0 +1,52 @@
+#include <stdio.h>
+#include <unistd.h>
+#include "subid.h"
+#include "stdlib.h"
+#include "prototypes.h"
+
+/* Test program for the subid freeing routine */
+
+const char *Prog;
+FILE *shadow_logfd = NULL;
+
+void usage(void)
+{
+ fprintf(stderr, "Usage: %s [-g] user start count\n", Prog);
+ fprintf(stderr, " Release a user's subuid (or with -g, subgid) range\n");
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char *argv[])
+{
+ int c;
+ bool ok;
+ struct subordinate_range range;
+ bool group = false; // get subuids by default
+
+ Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
+ while ((c = getopt(argc, argv, "g")) != EOF) {
+ switch(c) {
+ case 'g': group = true; break;
+ default: usage();
+ }
+ }
+ argv = &argv[optind];
+ argc = argc - optind;
+ if (argc < 3)
+ usage();
+ range.owner = argv[0];
+ range.start = atoi(argv[1]);
+ range.count = atoi(argv[2]);
+ if (group)
+ ok = ungrant_subgid_range(&range);
+ else
+ ok = ungrant_subuid_range(&range);
+
+ if (!ok) {
+ fprintf(stderr, "Failed freeing id range\n");
+ exit(EXIT_FAILURE);
+ }
+
+ return 0;
+}
diff --git a/src/get_subid_owners.c b/src/get_subid_owners.c
new file mode 100644
index 00000000..f9a266ba
--- /dev/null
+++ b/src/get_subid_owners.c
@@ -0,0 +1,42 @@
+#include <stdio.h>
+#include "subid.h"
+#include "stdlib.h"
+#include "prototypes.h"
+
+const char *Prog;
+FILE *shadow_logfd = NULL;
+
+void usage(void)
+{
+ fprintf(stderr, "Usage: [-g] %s subuid\n", Prog);
+ fprintf(stderr, " list uids who own the given subuid\n");
+ fprintf(stderr, " pass -g to query a subgid\n");
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char *argv[])
+{
+ int i, n;
+ uid_t *uids;
+
+ Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
+ if (argc < 2) {
+ usage();
+ }
+ if (argc == 3 && strcmp(argv[1], "-g") == 0)
+ n = get_subgid_owners(atoi(argv[2]), &uids);
+ else if (argc == 2 && strcmp(argv[1], "-h") == 0)
+ usage();
+ else
+ n = get_subuid_owners(atoi(argv[1]), &uids);
+ if (n < 0) {
+ fprintf(stderr, "No owners found\n");
+ exit(1);
+ }
+ for (i = 0; i < n; i++) {
+ printf("%d\n", uids[i]);
+ }
+ free(uids);
+ return 0;
+}
diff --git a/src/gpasswd.c b/src/gpasswd.c
index 4d75af96..a43d9a59 100644
--- a/src/gpasswd.c
+++ b/src/gpasswd.c
@@ -58,6 +58,7 @@
*/
/* The name of this command, as it is invoked */
const char *Prog;
+FILE *shadow_logfd = NULL;
#ifdef SHADOWGRP
/* Indicate if shadow groups are enabled on the system
@@ -988,6 +989,7 @@ int main (int argc, char **argv)
*/
bywho = getuid ();
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
OPENLOG ("gpasswd");
setbuf (stdout, NULL);
@@ -1204,6 +1206,17 @@ int main (int argc, char **argv)
nscd_flush_cache ("group");
sssd_flush_cache (SSSD_DB_GROUP);
+#ifdef SHADOWGRP
+ if (sgent.sg_adm) {
+ xfree(sgent.sg_adm);
+ }
+ if (sgent.sg_mem) {
+ xfree(sgent.sg_mem);
+ }
+#endif
+ if (grent.gr_mem) {
+ xfree(grent.gr_mem);
+ }
exit (E_SUCCESS);
}
diff --git a/src/groupadd.c b/src/groupadd.c
index 2dd8eec9..d7f68b1a 100644
--- a/src/groupadd.c
+++ b/src/groupadd.c
@@ -72,6 +72,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static /*@null@*/char *group_name;
static gid_t group_id;
@@ -79,6 +80,7 @@ static /*@null@*/char *group_passwd;
static /*@null@*/char *empty_list = NULL;
static const char *prefix = "";
+static char *user_list;
static bool oflg = false; /* permit non-unique group ID to be specified with -g */
static bool gflg = false; /* ID value for the new group */
@@ -126,7 +128,8 @@ static /*@noreturn@*/void usage (int status)
(void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout);
(void) fputs (_(" -r, --system create a system account\n"), usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
- (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout);
+ (void) fputs (_(" -P, --prefix PREFIX_DI directory prefix\n"), usageout);
+ (void) fputs (_(" -U, --users USERS list of user members of this group\n"), usageout);
(void) fputs ("\n", usageout);
exit (status);
}
@@ -207,6 +210,19 @@ static void grp_update (void)
}
#endif /* SHADOWGRP */
+ if (user_list) {
+ char *token;
+ token = strtok(user_list, ",");
+ while (token) {
+ if (prefix_getpwnam (token) == NULL) {
+ fprintf (stderr, _("Invalid member username %s\n"), token);
+ exit (E_GRP_UPDATE);
+ }
+ grp.gr_mem = add_list(grp.gr_mem, token);
+ token = strtok(NULL, ",");
+ }
+ }
+
/*
* Write out the new group file entry.
*/
@@ -391,10 +407,11 @@ static void process_flags (int argc, char **argv)
{"system", no_argument, NULL, 'r'},
{"root", required_argument, NULL, 'R'},
{"prefix", required_argument, NULL, 'P'},
+ {"users", required_argument, NULL, 'U'},
{NULL, 0, NULL, '\0'}
};
- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:P:",
+ while ((c = getopt_long (argc, argv, "fg:hK:op:rR:P:U:",
long_options, NULL)) != -1) {
switch (c) {
case 'f':
@@ -453,6 +470,9 @@ static void process_flags (int argc, char **argv)
break;
case 'P': /* no-op, handled in process_prefix_flag () */
break;
+ case 'U':
+ user_list = optarg;
+ break;
default:
usage (E_USAGE);
}
@@ -579,6 +599,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/groupdel.c b/src/groupdel.c
index f941a84a..5c893128 100644
--- a/src/groupdel.c
+++ b/src/groupdel.c
@@ -58,6 +58,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char *group_name;
static gid_t group_id = -1;
@@ -323,6 +324,7 @@ static void process_flags (int argc, char **argv)
int c;
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
+ {"force", no_argument, NULL, 'f'},
{"root", required_argument, NULL, 'R'},
{"prefix", required_argument, NULL, 'P'},
{NULL, 0, NULL, '\0'}
@@ -375,6 +377,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/groupmems.c b/src/groupmems.c
index fc91c8b1..654a8f3a 100644
--- a/src/groupmems.c
+++ b/src/groupmems.c
@@ -65,6 +65,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char *adduser = NULL;
static char *deluser = NULL;
@@ -595,6 +596,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/groupmod.c b/src/groupmod.c
index 1dca5fc9..acd6f350 100644
--- a/src/groupmod.c
+++ b/src/groupmod.c
@@ -76,6 +76,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
#ifdef SHADOWGRP
static bool is_shadow_grp;
@@ -87,6 +88,7 @@ static gid_t group_id;
static gid_t group_newid;
static const char* prefix = "";
+static char *user_list;
static struct cleanup_info_mod info_passwd;
static struct cleanup_info_mod info_group;
@@ -95,6 +97,7 @@ static struct cleanup_info_mod info_gshadow;
#endif
static bool
+ aflg = false, /* append -U members rather than replace them */
oflg = false, /* permit non-unique group ID to be specified with -g */
gflg = false, /* new ID value for the group */
nflg = false, /* a new name has been specified for the group */
@@ -117,6 +120,7 @@ static void open_files (void);
static void close_files (void);
static void update_primary_groups (gid_t ogid, gid_t ngid);
+
/*
* usage - display usage message and exit
*/
@@ -129,6 +133,8 @@ static void usage (int status)
"\n"
"Options:\n"),
Prog);
+ (void) fputs (_(" -a, --append append the users mentioned by -U option to the group \n"
+ " without removing existing user members\n"), usageout);
(void) fputs (_(" -g, --gid GID change the group ID to GID\n"), usageout);
(void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
(void) fputs (_(" -n, --new-name NEW_GROUP change the name to NEW_GROUP\n"), usageout);
@@ -137,6 +143,7 @@ static void usage (int status)
" PASSWORD\n"), usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
(void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout);
+ (void) fputs (_(" -U, --users USERS list of user members of this group\n"), usageout);
(void) fputs ("\n", usageout);
exit (status);
}
@@ -255,6 +262,32 @@ static void grp_update (void)
update_primary_groups (ogrp->gr_gid, group_newid);
}
+ if (user_list) {
+ char *token;
+
+ if (!aflg) {
+ // requested to replace the existing groups
+ if (NULL != grp.gr_mem[0])
+ gr_free_members(&grp);
+ grp.gr_mem = (char **)xmalloc(sizeof(char *));
+ grp.gr_mem[0] = (char *)0;
+ } else {
+ // append to existing groups
+ if (NULL != grp.gr_mem[0])
+ grp.gr_mem = dup_list (grp.gr_mem);
+ }
+
+ token = strtok(user_list, ",");
+ while (token) {
+ if (prefix_getpwnam (token) == NULL) {
+ fprintf (stderr, _("Invalid member username %s\n"), token);
+ exit (E_GRP_UPDATE);
+ }
+ grp.gr_mem = add_list(grp.gr_mem, token);
+ token = strtok(NULL, ",");
+ }
+ }
+
/*
* Write out the new group file entry.
*/
@@ -379,6 +412,7 @@ static void process_flags (int argc, char **argv)
{
int c;
static struct option long_options[] = {
+ {"append", no_argument, NULL, 'a'},
{"gid", required_argument, NULL, 'g'},
{"help", no_argument, NULL, 'h'},
{"new-name", required_argument, NULL, 'n'},
@@ -386,11 +420,15 @@ static void process_flags (int argc, char **argv)
{"password", required_argument, NULL, 'p'},
{"root", required_argument, NULL, 'R'},
{"prefix", required_argument, NULL, 'P'},
+ {"users", required_argument, NULL, 'U'},
{NULL, 0, NULL, '\0'}
};
- while ((c = getopt_long (argc, argv, "g:hn:op:R:P:",
+ while ((c = getopt_long (argc, argv, "ag:hn:op:R:P:U:",
long_options, NULL)) != -1) {
switch (c) {
+ case 'a':
+ aflg = true;
+ break;
case 'g':
gflg = true;
if ( (get_gid (optarg, &group_newid) == 0)
@@ -419,6 +457,9 @@ static void process_flags (int argc, char **argv)
break;
case 'P': /* no-op, handled in process_prefix_flag () */
break;
+ case 'U':
+ user_list = optarg;
+ break;
default:
usage (E_USAGE);
}
@@ -752,6 +793,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/groups.c b/src/groups.c
index fcd669b0..3bfd4830 100644
--- a/src/groups.c
+++ b/src/groups.c
@@ -43,6 +43,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
/* local function prototypes */
static void print_groups (const char *member);
@@ -126,6 +127,7 @@ int main (int argc, char **argv)
* Get the program name so that error messages can use it.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
if (argc == 1) {
diff --git a/src/grpck.c b/src/grpck.c
index e6216efa..b594851b 100644
--- a/src/grpck.c
+++ b/src/grpck.c
@@ -33,8 +33,6 @@
#include <config.h>
-#ident "$Id$"
-
#include <fcntl.h>
#include <grp.h>
#include <pwd.h>
@@ -68,6 +66,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static const char *grp_file = GROUP_FILE;
static bool use_system_grp_file = true;
@@ -82,6 +81,7 @@ static bool gr_locked = false;
/* Options */
static bool read_only = false;
static bool sort_mode = false;
+static bool silence_warnings = false;
/* local function prototypes */
static void fail_exit (int status);
@@ -158,6 +158,7 @@ static /*@noreturn@*/void usage (int status)
" but do not change files\n"), usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
(void) fputs (_(" -s, --sort sort entries by UID\n"), usageout);
+ (void) fputs (_(" -S, --silence-warnings silence controversial/paranoid warnings\n"), usageout);
(void) fputs ("\n", usageout);
exit (status);
}
@@ -193,18 +194,19 @@ static void process_flags (int argc, char **argv)
{
int c;
static struct option long_options[] = {
- {"help", no_argument, NULL, 'h'},
- {"quiet", no_argument, NULL, 'q'},
- {"read-only", no_argument, NULL, 'r'},
- {"root", required_argument, NULL, 'R'},
- {"sort", no_argument, NULL, 's'},
+ {"help", no_argument, NULL, 'h'},
+ {"quiet", no_argument, NULL, 'q'},
+ {"read-only", no_argument, NULL, 'r'},
+ {"root", required_argument, NULL, 'R'},
+ {"silence-warnings", no_argument, NULL, 'S'},
+ {"sort", no_argument, NULL, 's'},
{NULL, 0, NULL, '\0'}
};
/*
* Parse the command line arguments
*/
- while ((c = getopt_long (argc, argv, "hqrR:s",
+ while ((c = getopt_long (argc, argv, "hqrR:sS",
long_options, NULL)) != -1) {
switch (c) {
case 'h':
@@ -221,6 +223,9 @@ static void process_flags (int argc, char **argv)
case 's':
sort_mode = true;
break;
+ case 'S':
+ silence_warnings = true;
+ break;
default:
usage (E_USAGE);
}
@@ -456,7 +461,7 @@ static void compare_members_lists (const char *groupname,
break;
}
}
- if (*other_pmem == NULL) {
+ if (!silence_warnings && *other_pmem == NULL) {
printf
("'%s' is a member of the '%s' group in %s but not in %s\n",
*pmem, groupname, file, other_file);
@@ -836,6 +841,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/grpconv.c b/src/grpconv.c
index 5e5eaaca..aecafa40 100644
--- a/src/grpconv.c
+++ b/src/grpconv.c
@@ -59,6 +59,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool gr_locked = false;
static bool sgr_locked = false;
@@ -146,6 +147,7 @@ int main (int argc, char **argv)
struct sgrp sgent;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/grpunconv.c b/src/grpunconv.c
index e4105c26..d750e2bd 100644
--- a/src/grpunconv.c
+++ b/src/grpunconv.c
@@ -59,6 +59,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool gr_locked = false;
static bool sgr_locked = false;
@@ -145,6 +146,7 @@ int main (int argc, char **argv)
const struct sgrp *sg;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/lastlog.c b/src/lastlog.c
index c1caedb0..1b1803e1 100644
--- a/src/lastlog.c
+++ b/src/lastlog.c
@@ -42,6 +42,9 @@
#include <sys/types.h>
#include <time.h>
#include <assert.h>
+#ifdef HAVE_LL_HOST
+#include <net/if.h>
+#endif
#include "defines.h"
#include "prototypes.h"
#include "getdef.h"
@@ -59,6 +62,7 @@
* Global variables
*/
const char *Prog; /* Program name */
+FILE *shadow_logfd = NULL;
static FILE *lastlogfile; /* lastlog file stream */
static unsigned long umin; /* if uflg and has_umin, only display users with uid >= umin */
static bool has_umin = false;
@@ -109,6 +113,10 @@ static void print_one (/*@null@*/const struct passwd *pw)
char ptime[80];
#endif
+#ifdef HAVE_LL_HOST
+ int maxIPv6Addrlen;
+#endif
+
if (NULL == pw) {
return;
}
@@ -150,7 +158,17 @@ static void print_one (/*@null@*/const struct passwd *pw)
/* Print the header only once */
if (!once) {
#ifdef HAVE_LL_HOST
- puts (_("Username Port From Latest"));
+ /*
+ * ll_host is in minimized form, thus the maximum IPv6 address possible is
+ * 8*4+7 = 39 characters.
+ * RFC 4291 2.5.6 states that for LL-addresses fe80+only the interface ID is set,
+ * thus having a maximum size of 25+1+IFNAMSIZ.
+ * POSIX says IFNAMSIZ should be 16 characters long including the null byte, thus
+ * 25+1+IFNAMSIZ >= 42 > 39
+ */
+ /* Link-Local address + % + Interfacename */
+ maxIPv6Addrlen = 25+1+IFNAMSIZ;
+ printf (_("Username Port From%*sLatest\n"), maxIPv6Addrlen-3, " ");
#else
puts (_("Username Port Latest"));
#endif
@@ -172,8 +190,8 @@ static void print_one (/*@null@*/const struct passwd *pw)
}
#ifdef HAVE_LL_HOST
- printf ("%-16s %-8.8s %-16.16s %s\n",
- pw->pw_name, ll.ll_line, ll.ll_host, cp);
+ printf ("%-16s %-8.8s %*s%s\n",
+ pw->pw_name, ll.ll_line, -maxIPv6Addrlen, ll.ll_host, cp);
#else
printf ("%-16s\t%-8.8s %s\n",
pw->pw_name, ll.ll_line, cp);
@@ -300,6 +318,7 @@ int main (int argc, char **argv)
* most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/list_subid_ranges.c b/src/list_subid_ranges.c
new file mode 100644
index 00000000..f649a002
--- /dev/null
+++ b/src/list_subid_ranges.c
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include "subid.h"
+#include "stdlib.h"
+#include "prototypes.h"
+
+const char *Prog;
+FILE *shadow_logfd = NULL;
+
+void usage(void)
+{
+ fprintf(stderr, "Usage: %s [-g] user\n", Prog);
+ fprintf(stderr, " list subuid ranges for user\n");
+ fprintf(stderr, " pass -g to list subgid ranges\n");
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char *argv[])
+{
+ int i, count=0;
+ struct subid_range *ranges;
+ const char *owner;
+
+ Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
+ if (argc < 2)
+ usage();
+ owner = argv[1];
+ if (argc == 3 && strcmp(argv[1], "-g") == 0) {
+ owner = argv[2];
+ count = get_subgid_ranges(owner, &ranges);
+ } else if (argc == 2 && strcmp(argv[1], "-h") == 0) {
+ usage();
+ } else {
+ count = get_subuid_ranges(owner, &ranges);
+ }
+ if (!ranges) {
+ fprintf(stderr, "Error fetching ranges\n");
+ exit(1);
+ }
+ for (i = 0; i < count; i++) {
+ printf("%d: %s %lu %lu\n", i, owner,
+ ranges[i].start, ranges[i].count);
+ }
+ return 0;
+}
diff --git a/src/login.c b/src/login.c
index 00508cd5..7ec2401e 100644
--- a/src/login.c
+++ b/src/login.c
@@ -83,6 +83,7 @@ static pam_handle_t *pamh = NULL;
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static const char *hostname = "";
static /*@null@*/ /*@only@*/char *username = NULL;
@@ -577,6 +578,7 @@ int main (int argc, char **argv)
amroot = (getuid () == 0);
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
if (geteuid() != 0) {
fprintf (stderr, _("%s: Cannot possibly work without effective root\n"), Prog);
@@ -978,6 +980,19 @@ int main (int argc, char **argv)
|| ('*' == user_passwd[0])) {
failed = true;
}
+
+ if (strcmp (user_passwd, "") == 0) {
+ char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH");
+ if(prevent_no_auth == NULL) {
+ prevent_no_auth = "superuser";
+ }
+ if(strcmp(prevent_no_auth, "yes") == 0) {
+ failed = true;
+ } else if( (pwd->pw_uid == 0)
+ && (strcmp(prevent_no_auth, "superuser") == 0)) {
+ failed = true;
+ }
+ }
}
if (strcmp (user_passwd, SHADOW_PASSWD_STRING) == 0) {
diff --git a/src/logoutd.c b/src/logoutd.c
index 1503a743..780c29f8 100644
--- a/src/logoutd.c
+++ b/src/logoutd.c
@@ -44,6 +44,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
#ifndef DEFAULT_HUP_MESG
#define DEFAULT_HUP_MESG _("login time exceeded\n\n")
@@ -187,6 +188,7 @@ int main (int argc, char **argv)
* Start syslogging everything
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
OPENLOG ("logoutd");
diff --git a/src/new_subid_range.c b/src/new_subid_range.c
new file mode 100644
index 00000000..721f9547
--- /dev/null
+++ b/src/new_subid_range.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <unistd.h>
+#include "subid.h"
+#include "stdlib.h"
+#include "prototypes.h"
+
+/* Test program for the subid creation routine */
+
+const char *Prog;
+FILE *shadow_logfd = NULL;
+
+void usage(void)
+{
+ fprintf(stderr, "Usage: %s [-g] [-n] user count\n", Prog);
+ fprintf(stderr, " Find a subuid (or with -g, subgid) range for user\n");
+ fprintf(stderr, " If -n is given, a new range will be created even if one exists\n");
+ fprintf(stderr, " count defaults to 65536\n");
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char *argv[])
+{
+ int c;
+ struct subordinate_range range;
+ bool makenew = false; // reuse existing by default
+ bool group = false; // get subuids by default
+ bool ok;
+
+ Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
+ while ((c = getopt(argc, argv, "gn")) != EOF) {
+ switch(c) {
+ case 'n': makenew = true; break;
+ case 'g': group = true; break;
+ default: usage();
+ }
+ }
+ argv = &argv[optind];
+ argc = argc - optind;
+ if (argc == 0)
+ usage();
+ range.owner = argv[0];
+ range.start = 0;
+ range.count = 65536;
+ if (argc > 1)
+ range.count = atoi(argv[1]);
+ if (group)
+ ok = grant_subgid_range(&range, !makenew);
+ else
+ ok = grant_subuid_range(&range, !makenew);
+
+ if (!ok) {
+ fprintf(stderr, "Failed creating new id range\n");
+ exit(EXIT_FAILURE);
+ }
+ printf("Subuid range %lu:%lu\n", range.start, range.count);
+
+ return 0;
+}
diff --git a/src/newgidmap.c b/src/newgidmap.c
index 7fcb459f..51a2eb44 100644
--- a/src/newgidmap.c
+++ b/src/newgidmap.c
@@ -39,12 +39,14 @@
#include "defines.h"
#include "prototypes.h"
#include "subordinateio.h"
+#include "getdef.h"
#include "idmapping.h"
/*
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool verify_range(struct passwd *pw, struct map_range *range, bool *allow_setgroups)
@@ -60,7 +62,7 @@ static bool verify_range(struct passwd *pw, struct map_range *range, bool *allow
}
/* Allow a process to map its own gid. */
- if ((range->count == 1) && (pw->pw_gid == range->lower)) {
+ if ((range->count == 1) && (getgid() == range->lower)) {
/* noop -- if setgroups is enabled already we won't disable it. */
return true;
}
@@ -175,6 +177,7 @@ int main(int argc, char **argv)
bool allow_setgroups = false;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
/*
* The valid syntax are
@@ -228,9 +231,9 @@ int main(int argc, char **argv)
* mappings we have been asked to set.
*/
if ((getuid() != pw->pw_uid) ||
- (getgid() != pw->pw_gid) ||
+ (!getdef_bool("GRANT_AUX_GROUP_SUBIDS") && (getgid() != pw->pw_gid)) ||
(pw->pw_uid != st.st_uid) ||
- (pw->pw_gid != st.st_gid)) {
+ (getgid() != st.st_gid)) {
fprintf(stderr, _( "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ),
Prog, target,
(unsigned long int)getuid(), (unsigned long int)pw->pw_uid, (unsigned long int)st.st_uid,
diff --git a/src/newgrp.c b/src/newgrp.c
index e3c44e14..2b9293b4 100644
--- a/src/newgrp.c
+++ b/src/newgrp.c
@@ -49,6 +49,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
extern char **newenvp;
extern char **environ;
@@ -161,8 +162,9 @@ static void check_perms (const struct group *grp,
*/
spwd = xgetspnam (pwd->pw_name);
if (NULL != spwd) {
- pwd->pw_passwd = spwd->sp_pwdp;
+ pwd->pw_passwd = xstrdup (spwd->sp_pwdp);
}
+ spw_free (spwd);
if ((pwd->pw_passwd[0] == '\0') && (grp->gr_passwd[0] != '\0')) {
needspasswd = true;
@@ -443,9 +445,9 @@ int main (int argc, char **argv)
* don't need to re-exec anything. -- JWP
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
is_newgrp = (strcmp (Prog, "newgrp") == 0);
OPENLOG (is_newgrp ? "newgrp" : "sg");
- gid = getgid ();
argc--;
argv++;
diff --git a/src/newuidmap.c b/src/newuidmap.c
index 55d84ba8..bdd9cadf 100644
--- a/src/newuidmap.c
+++ b/src/newuidmap.c
@@ -39,12 +39,14 @@
#include "defines.h"
#include "prototypes.h"
#include "subordinateio.h"
+#include "getdef.h"
#include "idmapping.h"
/*
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool verify_range(struct passwd *pw, struct map_range *range)
{
@@ -105,6 +107,7 @@ int main(int argc, char **argv)
int written;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
/*
* The valid syntax are
@@ -158,9 +161,9 @@ int main(int argc, char **argv)
* mappings we have been asked to set.
*/
if ((getuid() != pw->pw_uid) ||
- (getgid() != pw->pw_gid) ||
+ (!getdef_bool("GRANT_AUX_GROUP_SUBIDS") && (getgid() != pw->pw_gid)) ||
(pw->pw_uid != st.st_uid) ||
- (pw->pw_gid != st.st_gid)) {
+ (getgid() != st.st_gid)) {
fprintf(stderr, _( "%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ),
Prog, target,
(unsigned long int)getuid(), (unsigned long int)pw->pw_uid, (unsigned long int)st.st_uid,
diff --git a/src/newusers.c b/src/newusers.c
index e9fe0e27..16bf7229 100644
--- a/src/newusers.c
+++ b/src/newusers.c
@@ -75,6 +75,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool rflg = false; /* create a system account */
#ifndef USE_PAM
@@ -89,6 +90,9 @@ static long sha_rounds = 5000;
#ifdef USE_BCRYPT
static long bcrypt_rounds = 13;
#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+static long yescrypt_cost = 5;
+#endif /* USE_YESCRYPT */
#endif /* !USE_PAM */
static bool is_shadow;
@@ -139,14 +143,15 @@ static void usage (int status)
#ifndef USE_PAM
(void) fprintf (usageout,
_(" -c, --crypt-method METHOD the crypt method (one of %s)\n"),
-#if !defined(USE_SHA_CRYPT) && !defined(USE_BCRYPT)
- "NONE DES MD5"
-#elif defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
- "NONE DES MD5 SHA256 SHA512 BCRYPT"
-#elif defined(USE_SHA_CRYPT)
- "NONE DES MD5 SHA256 SHA512"
-#else
- "NONE DES MD5 BCRYPT"
+ "NONE DES MD5"
+#if defined(USE_SHA_CRYPT)
+ " SHA256 SHA512"
+#endif
+#if defined(USE_BCRYPT)
+ " BCRYPT"
+#endif
+#if defined(USE_YESCRYPT)
+ " YESCRYPT"
#endif
);
#endif /* !USE_PAM */
@@ -154,11 +159,11 @@ static void usage (int status)
(void) fputs (_(" -r, --system create system accounts\n"), usageout);
(void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout);
#ifndef USE_PAM
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
- (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA or BCRYPT\n"
- " crypt algorithms\n"),
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n"
+ " or YESCRYPT crypt algorithms\n"),
usageout);
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
#endif /* !USE_PAM */
(void) fputs ("\n", usageout);
@@ -433,25 +438,28 @@ static int update_passwd (struct passwd *pwd, const char *password)
void *crypt_arg = NULL;
char *cp;
if (NULL != crypt_method) {
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT)
if (sflg) {
if ( (0 == strcmp (crypt_method, "SHA256"))
|| (0 == strcmp (crypt_method, "SHA512"))) {
crypt_arg = &sha_rounds;
}
- else if (0 == strcmp (crypt_method, "BCRYPT")) {
- crypt_arg = &bcrypt_rounds;
- }
}
-#elif defined(USE_SHA_CRYPT)
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
if (sflg) {
- crypt_arg = &sha_rounds;
+ if (0 == strcmp (crypt_method, "BCRYPT")) {
+ crypt_arg = &bcrypt_rounds;
+ }
}
-#elif defined(USE_BCRYPT)
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
if (sflg) {
- crypt_arg = &bcrypt_rounds;
+ if (0 == strcmp (crypt_method, "YESCRYPT")) {
+ crypt_arg = &yescrypt_cost;
+ }
}
-#endif
+#endif /* USE_YESCRYPT */
}
if ((NULL != crypt_method) && (0 == strcmp(crypt_method, "NONE"))) {
@@ -484,25 +492,28 @@ static int add_passwd (struct passwd *pwd, const char *password)
#ifndef USE_PAM
void *crypt_arg = NULL;
if (NULL != crypt_method) {
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT)
if (sflg) {
if ( (0 == strcmp (crypt_method, "SHA256"))
|| (0 == strcmp (crypt_method, "SHA512"))) {
crypt_arg = &sha_rounds;
}
- else if (0 == strcmp (crypt_method, "BCRYPT")) {
- crypt_arg = &bcrypt_rounds;
- }
}
-#elif defined(USE_SHA_CRYPT)
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
if (sflg) {
- crypt_arg = &sha_rounds;
+ if (0 == strcmp (crypt_method, "BCRYPT")) {
+ crypt_arg = &bcrypt_rounds;
+ }
}
-#elif defined(USE_BCRYPT)
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
if (sflg) {
- crypt_arg = &bcrypt_rounds;
+ if (0 == strcmp (crypt_method, "YESCRYPT")) {
+ crypt_arg = &yescrypt_cost;
+ }
}
-#endif
+#endif /* USE_PAM */
}
/*
@@ -619,6 +630,9 @@ static int add_passwd (struct passwd *pwd, const char *password)
static void process_flags (int argc, char **argv)
{
int c;
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
+ int bad_s;
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
static struct option long_options[] = {
{"badnames", no_argument, NULL, 'b'},
#ifndef USE_PAM
@@ -628,20 +642,20 @@ static void process_flags (int argc, char **argv)
{"system", no_argument, NULL, 'r'},
{"root", required_argument, NULL, 'R'},
#ifndef USE_PAM
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
{"sha-rounds", required_argument, NULL, 's'},
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
#endif /* !USE_PAM */
{NULL, 0, NULL, '\0'}
};
while ((c = getopt_long (argc, argv,
#ifndef USE_PAM
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
"c:bhrs:",
-#else /* !USE_SHA_CRYPT && !USE_BCRYPT */
+#else /* !USE_SHA_CRYPT && !USE_BCRYPT && !USE_YESCRYPT */
"c:bhr",
-#endif /* USE_SHA_CRYPT || USE_BCRYPT */
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
#else /* USE_PAM */
"bhr",
#endif
@@ -664,40 +678,36 @@ static void process_flags (int argc, char **argv)
case 'R': /* no-op, handled in process_root_flag () */
break;
#ifndef USE_PAM
-#if defined(USE_SHA_CRYPT) && defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
case 's':
sflg = true;
+ bad_s = 0;
+#if defined(USE_SHA_CRYPT)
if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512")))
- && (0 == getlong(optarg, &sha_rounds)))
- || ( (0 == strcmp (crypt_method, "BCRYPT"))
+ && (0 == getlong(optarg, &sha_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_SHA_CRYPT */
+#if defined(USE_BCRYPT)
+ if (( (0 == strcmp (crypt_method, "BCRYPT"))
&& (0 == getlong(optarg, &bcrypt_rounds)))) {
+ bad_s = 1;
+ }
+#endif /* USE_BCRYPT */
+#if defined(USE_YESCRYPT)
+ if (( (0 == strcmp (crypt_method, "YESCRYPT"))
+ && (0 == getlong(optarg, &yescrypt_cost)))) {
+ bad_s = 1;
+ }
+#endif /* USE_YESCRYPT */
+ if (bad_s != 0) {
fprintf (stderr,
_("%s: invalid numeric argument '%s'\n"),
Prog, optarg);
usage (EXIT_FAILURE);
}
break;
-#elif defined(USE_SHA_CRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &sha_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (EXIT_FAILURE);
- }
- break;
-#elif defined(USE_BCRYPT)
- case 's':
- sflg = true;
- if (0 == getlong(optarg, &bcrypt_rounds)) {
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
- usage (EXIT_FAILURE);
- }
- break;
-#endif
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
#endif /* !USE_PAM */
default:
usage (EXIT_FAILURE);
@@ -731,14 +741,14 @@ static void process_flags (int argc, char **argv)
static void check_flags (void)
{
#ifndef USE_PAM
-#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT)
+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT)
if (sflg && !cflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-s", "-c");
usage (EXIT_FAILURE);
}
-#endif
+#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
if (cflg) {
if ( (0 != strcmp (crypt_method, "DES"))
@@ -751,6 +761,9 @@ static void check_flags (void)
#ifdef USE_BCRYPT
&& (0 != strcmp (crypt_method, "BCRYPT"))
#endif /* USE_BCRYPT */
+#ifdef USE_YESCRYPT
+ && (0 != strcmp (crypt_method, "YESCRYPT"))
+#endif /* USE_YESCRYPT */
) {
fprintf (stderr,
_("%s: unsupported crypt method: %s\n"),
@@ -1020,6 +1033,24 @@ static void close_files (void)
#endif /* ENABLE_SUBIDS */
}
+static bool want_subuids(void)
+{
+ if (get_subid_nss_handle() != NULL)
+ return false;
+ if (getdef_ulong ("SUB_UID_COUNT", 65536) == 0)
+ return false;
+ return true;
+}
+
+static bool want_subgids(void)
+{
+ if (get_subid_nss_handle() != NULL)
+ return false;
+ if (getdef_ulong ("SUB_GID_COUNT", 65536) == 0)
+ return false;
+ return true;
+}
+
int main (int argc, char **argv)
{
char buf[BUFSIZ];
@@ -1040,6 +1071,7 @@ int main (int argc, char **argv)
#endif /* USE_PAM */
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
@@ -1218,6 +1250,13 @@ int main (int argc, char **argv)
/* FIXME: should check for directory */
mode_t mode = getdef_num ("HOME_MODE",
0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
+ if (newpw.pw_dir[0] != '/') {
+ fprintf(stderr,
+ _("%s: line %d: homedir must be an absolute path\n"),
+ Prog, line);
+ errors++;
+ continue;
+ };
if (mkdir (newpw.pw_dir, mode) != 0) {
fprintf (stderr,
_("%s: line %d: mkdir %s failed: %s\n"),
@@ -1248,10 +1287,10 @@ int main (int argc, char **argv)
/*
* Add subordinate uids if the user does not have them.
*/
- if (is_sub_uid && !sub_uid_assigned(fields[0])) {
+ if (is_sub_uid && want_subuids() && !local_sub_uid_assigned(fields[0])) {
uid_t sub_uid_start = 0;
unsigned long sub_uid_count = 0;
- if (find_new_sub_uids(fields[0], &sub_uid_start, &sub_uid_count) == 0) {
+ if (find_new_sub_uids(&sub_uid_start, &sub_uid_count) == 0) {
if (sub_uid_add(fields[0], sub_uid_start, sub_uid_count) == 0) {
fprintf (stderr,
_("%s: failed to prepare new %s entry\n"),
@@ -1268,10 +1307,10 @@ int main (int argc, char **argv)
/*
* Add subordinate gids if the user does not have them.
*/
- if (is_sub_gid && !sub_gid_assigned(fields[0])) {
+ if (is_sub_gid && want_subgids() && !local_sub_gid_assigned(fields[0])) {
gid_t sub_gid_start = 0;
unsigned long sub_gid_count = 0;
- if (find_new_sub_gids(fields[0], &sub_gid_start, &sub_gid_count) == 0) {
+ if (find_new_sub_gids(&sub_gid_start, &sub_gid_count) == 0) {
if (sub_gid_add(fields[0], sub_gid_start, sub_gid_count) == 0) {
fprintf (stderr,
_("%s: failed to prepare new %s entry\n"),
diff --git a/src/passwd.c b/src/passwd.c
index 13619b16..9d7df331 100644
--- a/src/passwd.c
+++ b/src/passwd.c
@@ -66,6 +66,7 @@
* Global variables
*/
const char *Prog; /* Program name */
+FILE *shadow_logfd = NULL;
static char *name; /* The name of user whose password is being changed */
static char *myname; /* The current user's name */
@@ -282,7 +283,10 @@ static int new_password (const struct passwd *pw)
#endif /* USE_SHA_CRYPT */
#ifdef USE_BCRYPT
|| (strcmp (method, "BCRYPT") == 0)
-#endif /* USE_SHA_CRYPT */
+#endif /* USE_BCRYPT*/
+#ifdef USE_YESCRYPT
+ || (strcmp (method, "YESCRYPT") == 0)
+#endif /* USE_YESCRYPT*/
) {
pass_max_len = -1;
@@ -549,6 +553,11 @@ static char *update_crypt_pw (char *cp)
strcpy (newpw, "!");
strcat (newpw, cp);
+#ifndef USE_PAM
+ if (do_update_pwd) {
+ free (cp);
+ }
+#endif /* USE_PAM */
cp = newpw;
}
return cp;
@@ -749,6 +758,7 @@ int main (int argc, char **argv)
* most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/pwck.c b/src/pwck.c
index be404c37..4248944a 100644
--- a/src/pwck.c
+++ b/src/pwck.c
@@ -70,6 +70,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool use_system_pw_file = true;
static bool use_system_spw_file = true;
@@ -527,12 +528,16 @@ static void check_pw_file (int *errors, bool *changed)
* Make sure the home directory exists
*/
if (!quiet && (access (pwd->pw_dir, F_OK) != 0)) {
+ const char *nonexistent = getdef_str("NONEXISTENT");
+
/*
- * Home directory doesn't exist, give a warning
+ * Home directory does not exist, give a warning (unless intentional)
*/
- printf (_("user '%s': directory '%s' does not exist\n"),
- pwd->pw_name, pwd->pw_dir);
- *errors += 1;
+ if (NULL == nonexistent || strcmp (pwd->pw_dir, nonexistent) != 0) {
+ printf (_("user '%s': directory '%s' does not exist\n"),
+ pwd->pw_name, pwd->pw_dir);
+ *errors += 1;
+ }
}
}
diff --git a/src/pwconv.c b/src/pwconv.c
index f932f266..85ad9699 100644
--- a/src/pwconv.c
+++ b/src/pwconv.c
@@ -89,6 +89,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool spw_locked = false;
static bool pw_locked = false;
@@ -176,6 +177,7 @@ int main (int argc, char **argv)
struct spwd spent;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/pwunconv.c b/src/pwunconv.c
index e11ea494..a5ee999e 100644
--- a/src/pwunconv.c
+++ b/src/pwunconv.c
@@ -53,6 +53,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static bool spw_locked = false;
static bool pw_locked = false;
@@ -137,6 +138,7 @@ int main (int argc, char **argv)
const struct spwd *spwd;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/su.c b/src/su.c
index fc0e826f..04011afa 100644
--- a/src/su.c
+++ b/src/su.c
@@ -82,6 +82,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static /*@observer@*/const char *caller_tty = NULL; /* Name of tty SU is run from */
static bool caller_is_root = false;
static uid_t caller_uid;
@@ -354,7 +355,9 @@ static void prepare_pam_close_session (void)
pid_t pid;
stop = true;
- pid = waitpid (-1, &status, WUNTRACED);
+ do {
+ pid = waitpid (-1, &status, WUNTRACED);
+ } while (pid != -1 && pid != pid_child);
/* When interrupted by signal, the signal will be
* forwarded to the child, and termination will be
@@ -503,6 +506,21 @@ static void check_perms_nopam (const struct passwd *pw)
return;
}
+ if (strcmp (pw->pw_passwd, "") == 0) {
+ char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH");
+ if(prevent_no_auth == NULL) {
+ prevent_no_auth = "superuser";
+ }
+ if(strcmp(prevent_no_auth, "yes") == 0) {
+ fprintf(stderr, _("Password field is empty, this is forbidden for all accounts.\n"));
+ exit(1);
+ } else if( (pw->pw_uid == 0)
+ && (strcmp(prevent_no_auth, "superuser") == 0)) {
+ fprintf(stderr, _("Password field is empty, this is forbidden for super-user.\n"));
+ exit(1);
+ }
+ }
+
/*
* BSD systems only allow "wheel" to SU to root. USG systems don't,
* so we make this a configurable option.
@@ -699,6 +717,7 @@ static void save_caller_context (char **argv)
* most error messages.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
caller_uid = getuid ();
caller_is_root = (caller_uid == 0);
diff --git a/src/sulogin.c b/src/sulogin.c
index 4264099b..8f181505 100644
--- a/src/sulogin.c
+++ b/src/sulogin.c
@@ -50,6 +50,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char name[BUFSIZ];
static char pass[BUFSIZ];
@@ -106,6 +107,7 @@ static RETSIGTYPE catch_signals (unused int sig)
#endif
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
(void) textdomain (PACKAGE);
diff --git a/src/useradd.c b/src/useradd.c
index a679392d..127177e2 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -64,10 +64,14 @@
#include "prototypes.h"
#include "pwauth.h"
#include "pwio.h"
+#include "run_part.h"
#ifdef SHADOWGRP
#include "sgroupio.h"
#endif
#include "shadowio.h"
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+#endif /* WITH_SELINUX */
#ifdef ENABLE_SUBIDS
#include "subordinateio.h"
#endif /* ENABLE_SUBIDS */
@@ -92,16 +96,17 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
/*
* These defaults are used if there is no defaults file.
*/
-static gid_t def_group = 100;
+static gid_t def_group = 1000;
static const char *def_gname = "other";
static const char *def_home = "/home";
-static const char *def_shell = "";
+static const char *def_shell = "/bin/bash";
static const char *def_template = SKEL_DIR;
-static const char *def_create_mail_spool = "no";
+static const char *def_create_mail_spool = "yes";
static long def_inactive = -1;
static const char *def_expire = "";
@@ -190,6 +195,7 @@ static bool home_added = false;
#define E_NAME_IN_USE 9 /* username already in use */
#define E_GRP_UPDATE 10 /* can't update group file */
#define E_HOMEDIR 12 /* can't create home directory */
+#define E_MAILBOXFILE 13 /* can't create mailbox file */
#define E_SE_UPDATE 14 /* can't update SELinux user mapping */
#ifdef ENABLE_SUBIDS
#define E_SUB_UID_UPDATE 16 /* can't update the subordinate uid file */
@@ -210,6 +216,7 @@ static void get_defaults (void);
static void show_defaults (void);
static int set_defaults (void);
static int get_groups (char *);
+static struct group * get_local_group (char * grp_name);
static void usage (int status);
static void new_pwent (struct passwd *);
@@ -219,7 +226,10 @@ static void grp_update (void);
static void process_flags (int argc, char **argv);
static void close_files (void);
+static void close_group_files (void);
+static void unlock_group_files (void);
static void open_files (void);
+static void open_group_files (void);
static void open_shadow (void);
static void faillog_reset (uid_t);
static void lastlog_reset (uid_t);
@@ -227,6 +237,7 @@ static void tallylog_reset (const char *);
static void usr_update (void);
static void create_home (void);
static void create_mail (void);
+static void check_uid_range(int rflg, uid_t user_id);
/*
* fail_exit - undo as much as possible
@@ -331,7 +342,7 @@ static void fail_exit (int code)
user_name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
- SYSLOG ((LOG_INFO, "failed adding user '%s', data deleted", user_name));
+ SYSLOG ((LOG_INFO, "failed adding user '%s', exit code: %d", user_name, code));
exit (code);
}
@@ -404,6 +415,7 @@ static void get_defaults (void)
} else {
def_group = grp->gr_gid;
def_gname = xstrdup (grp->gr_name);
+ gr_free(grp);
}
}
@@ -722,7 +734,7 @@ static int set_defaults (void)
static int get_groups (char *list)
{
char *cp;
- const struct group *grp;
+ struct group *grp;
int errors = 0;
int ngroups = 0;
@@ -731,6 +743,11 @@ static int get_groups (char *list)
}
/*
+ * Open the group files
+ */
+ open_group_files ();
+
+ /*
* So long as there is some data to be converted, strip off
* each name and look it up. A mix of numerical and string
* values for group identifiers is permitted.
@@ -748,7 +765,7 @@ static int get_groups (char *list)
* Names starting with digits are treated as numerical
* GID values, otherwise the string is looked up as is.
*/
- grp = prefix_getgr_nam_gid (list);
+ grp = get_local_group (list);
/*
* There must be a match, either by GID value or by
@@ -781,6 +798,7 @@ static int get_groups (char *list)
fprintf (stderr,
_("%s: group '%s' is a NIS group.\n"),
Prog, grp->gr_name);
+ gr_free(grp);
continue;
}
#endif
@@ -789,6 +807,7 @@ static int get_groups (char *list)
fprintf (stderr,
_("%s: too many groups specified (max %d).\n"),
Prog, ngroups);
+ gr_free(grp);
break;
}
@@ -796,8 +815,12 @@ static int get_groups (char *list)
* Add the group name to the user's list of groups.
*/
user_groups[ngroups++] = xstrdup (grp->gr_name);
+ gr_free (grp);
} while (NULL != list);
+ close_group_files ();
+ unlock_group_files ();
+
user_groups[ngroups] = (char *) 0;
/*
@@ -811,6 +834,44 @@ static int get_groups (char *list)
}
/*
+ * get_local_group - checks if a given group name exists locally
+ *
+ * get_local_group() checks if a given group name exists locally.
+ * If the name exists the group information is returned, otherwise NULL is
+ * returned.
+ */
+static struct group * get_local_group(char * grp_name)
+{
+ const struct group *grp;
+ struct group *result_grp = NULL;
+ long long int gid;
+ char *endptr;
+
+ gid = strtoll (grp_name, &endptr, 10);
+ if ( ('\0' != *grp_name)
+ && ('\0' == *endptr)
+ && (ERANGE != errno)
+ && (gid == (gid_t)gid)) {
+ grp = gr_locate_gid ((gid_t) gid);
+ }
+ else {
+ grp = gr_locate(grp_name);
+ }
+
+ if (grp != NULL) {
+ result_grp = __gr_dup (grp);
+ if (NULL == result_grp) {
+ fprintf (stderr,
+ _("%s: Out of memory. Cannot find group '%s'.\n"),
+ Prog, grp_name);
+ fail_exit (E_GRP_UPDATE);
+ }
+ }
+
+ return result_grp;
+}
+
+/*
* usage - display usage message and exit
*/
static void usage (int status)
@@ -1447,7 +1508,7 @@ static void process_flags (int argc, char **argv)
user_name = argv[optind];
if (!is_valid_user_name (user_name)) {
fprintf (stderr,
- _("%s: invalid user name '%s'\n"),
+ _("%s: invalid user name '%s': use --badname to ignore\n"),
Prog, user_name);
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, Prog,
@@ -1529,23 +1590,9 @@ static void close_files (void)
SYSLOG ((LOG_ERR, "failure while writing changes to %s", spw_dbname ()));
fail_exit (E_PW_UPDATE);
}
- if (do_grp_update) {
- if (gr_close () == 0) {
- fprintf (stderr,
- _("%s: failure while writing changes to %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_ERR, "failure while writing changes to %s", gr_dbname ()));
- fail_exit (E_GRP_UPDATE);
- }
-#ifdef SHADOWGRP
- if (is_shadow_grp && (sgr_close () == 0)) {
- fprintf (stderr,
- _("%s: failure while writing changes to %s\n"),
- Prog, sgr_dbname ());
- SYSLOG ((LOG_ERR, "failure while writing changes to %s", sgr_dbname ()));
- fail_exit (E_GRP_UPDATE);
- }
-#endif
- }
+
+ close_group_files ();
+
#ifdef ENABLE_SUBIDS
if (is_sub_uid && (sub_uid_close () == 0)) {
fprintf (stderr,
@@ -1586,34 +1633,9 @@ static void close_files (void)
/* continue */
}
pw_locked = false;
- if (gr_unlock () == 0) {
- fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
-#ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
- "unlocking group file",
- user_name, AUDIT_NO_ID,
- SHADOW_AUDIT_FAILURE);
-#endif
- /* continue */
- }
- gr_locked = false;
-#ifdef SHADOWGRP
- if (is_shadow_grp) {
- if (sgr_unlock () == 0) {
- fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sgr_dbname ());
- SYSLOG ((LOG_ERR, "failed to unlock %s", sgr_dbname ()));
-#ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
- "unlocking gshadow file",
- user_name, AUDIT_NO_ID,
- SHADOW_AUDIT_FAILURE);
-#endif
- /* continue */
- }
- sgr_locked = false;
- }
-#endif
+
+ unlock_group_files ();
+
#ifdef ENABLE_SUBIDS
if (is_sub_uid) {
if (sub_uid_unlock () == 0) {
@@ -1647,6 +1669,71 @@ static void close_files (void)
}
/*
+ * close_group_files - close all of the files that were opened
+ *
+ * close_group_files() closes all of the files that were opened related
+ * with groups. This causes any modified entries to be written out.
+ */
+static void close_group_files (void)
+{
+ if (do_grp_update) {
+ if (gr_close () == 0) {
+ fprintf (stderr,
+ _("%s: failure while writing changes to %s\n"), Prog, gr_dbname ());
+ SYSLOG ((LOG_ERR, "failure while writing changes to %s", gr_dbname ()));
+ fail_exit (E_GRP_UPDATE);
+ }
+#ifdef SHADOWGRP
+ if (is_shadow_grp && (sgr_close () == 0)) {
+ fprintf (stderr,
+ _("%s: failure while writing changes to %s\n"),
+ Prog, sgr_dbname ());
+ SYSLOG ((LOG_ERR, "failure while writing changes to %s", sgr_dbname ()));
+ fail_exit (E_GRP_UPDATE);
+ }
+#endif /* SHADOWGRP */
+ }
+}
+
+/*
+ * unlock_group_files - unlock all of the files that were locked
+ *
+ * unlock_group_files() unlocks all of the files that were locked related
+ * with groups. This causes any modified entries to be written out.
+ */
+static void unlock_group_files (void)
+{
+ if (gr_unlock () == 0) {
+ fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, gr_dbname ());
+ SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
+#ifdef WITH_AUDIT
+ audit_logger (AUDIT_ADD_USER, Prog,
+ "unlocking-group-file",
+ user_name, AUDIT_NO_ID,
+ SHADOW_AUDIT_FAILURE);
+#endif /* WITH_AUDIT */
+ /* continue */
+ }
+ gr_locked = false;
+#ifdef SHADOWGRP
+ if (is_shadow_grp) {
+ if (sgr_unlock () == 0) {
+ fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sgr_dbname ());
+ SYSLOG ((LOG_ERR, "failed to unlock %s", sgr_dbname ()));
+#ifdef WITH_AUDIT
+ audit_logger (AUDIT_ADD_USER, Prog,
+ "unlocking-gshadow-file",
+ user_name, AUDIT_NO_ID,
+ SHADOW_AUDIT_FAILURE);
+#endif /* WITH_AUDIT */
+ /* continue */
+ }
+ sgr_locked = false;
+ }
+#endif /* SHADOWGRP */
+}
+
+/*
* open_files - lock and open the password files
*
* open_files() opens the two password files.
@@ -1667,37 +1754,8 @@ static void open_files (void)
/* shadow file will be opened by open_shadow(); */
- /*
- * Lock and open the group file.
- */
- if (gr_lock () == 0) {
- fprintf (stderr,
- _("%s: cannot lock %s; try again later.\n"),
- Prog, gr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
- gr_locked = true;
- if (gr_open (O_CREAT | O_RDWR) == 0) {
- fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
-#ifdef SHADOWGRP
- if (is_shadow_grp) {
- if (sgr_lock () == 0) {
- fprintf (stderr,
- _("%s: cannot lock %s; try again later.\n"),
- Prog, sgr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
- sgr_locked = true;
- if (sgr_open (O_CREAT | O_RDWR) == 0) {
- fprintf (stderr,
- _("%s: cannot open %s\n"),
- Prog, sgr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
- }
-#endif
+ open_group_files ();
+
#ifdef ENABLE_SUBIDS
if (is_sub_uid) {
if (sub_uid_lock () == 0) {
@@ -1732,6 +1790,39 @@ static void open_files (void)
#endif /* ENABLE_SUBIDS */
}
+static void open_group_files (void)
+{
+ if (gr_lock () == 0) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+ gr_locked = true;
+ if (gr_open (O_CREAT | O_RDWR) == 0) {
+ fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+
+#ifdef SHADOWGRP
+ if (is_shadow_grp) {
+ if (sgr_lock () == 0) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+ sgr_locked = true;
+ if (sgr_open (O_CREAT | O_RDWR) == 0) {
+ fprintf (stderr,
+ _("%s: cannot open %s\n"),
+ Prog, sgr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+ }
+#endif /* SHADOWGRP */
+}
+
static void open_shadow (void)
{
if (!is_shadow_pwd) {
@@ -1873,16 +1964,26 @@ static void faillog_reset (uid_t uid)
memzero (&fl, sizeof (fl));
fd = open (FAILLOG_FILE, O_RDWR);
- if ( (-1 == fd)
- || (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
+ if (-1 == fd) {
+ fprintf (stderr,
+ _("%s: failed to open the faillog file for UID %lu: %s\n"),
+ Prog, (unsigned long) uid, strerror (errno));
+ SYSLOG ((LOG_WARN, "failed to open the faillog file for UID %lu", (unsigned long) uid));
+ return;
+ }
+ if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
|| (write (fd, &fl, sizeof (fl)) != (ssize_t) sizeof (fl))
- || (fsync (fd) != 0)
- || (close (fd) != 0)) {
+ || (fsync (fd) != 0)) {
fprintf (stderr,
_("%s: failed to reset the faillog entry of UID %lu: %s\n"),
Prog, (unsigned long) uid, strerror (errno));
SYSLOG ((LOG_WARN, "failed to reset the faillog entry of UID %lu", (unsigned long) uid));
- /* continue */
+ }
+ if (close (fd) != 0) {
+ fprintf (stderr,
+ _("%s: failed to close the faillog file for UID %lu: %s\n"),
+ Prog, (unsigned long) uid, strerror (errno));
+ SYSLOG ((LOG_WARN, "failed to close the faillog file for UID %lu", (unsigned long) uid));
}
}
@@ -1906,17 +2007,29 @@ static void lastlog_reset (uid_t uid)
memzero (&ll, sizeof (ll));
fd = open (LASTLOG_FILE, O_RDWR);
- if ( (-1 == fd)
- || (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
+ if (-1 == fd) {
+ fprintf (stderr,
+ _("%s: failed to open the lastlog file for UID %lu: %s\n"),
+ Prog, (unsigned long) uid, strerror (errno));
+ SYSLOG ((LOG_WARN, "failed to open the lastlog file for UID %lu", (unsigned long) uid));
+ return;
+ }
+ if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
|| (write (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll))
- || (fsync (fd) != 0)
- || (close (fd) != 0)) {
+ || (fsync (fd) != 0)) {
fprintf (stderr,
_("%s: failed to reset the lastlog entry of UID %lu: %s\n"),
Prog, (unsigned long) uid, strerror (errno));
SYSLOG ((LOG_WARN, "failed to reset the lastlog entry of UID %lu", (unsigned long) uid));
/* continue */
}
+ if (close (fd) != 0) {
+ fprintf (stderr,
+ _("%s: failed to close the lastlog file for UID %lu: %s\n"),
+ Prog, (unsigned long) uid, strerror (errno));
+ SYSLOG ((LOG_WARN, "failed to close the lastlog file for UID %lu", (unsigned long) uid));
+ /* continue */
+ }
}
static void tallylog_reset (const char *user_name)
@@ -2084,10 +2197,9 @@ static void create_home (void)
Prog, user_home);
fail_exit (E_HOMEDIR);
}
- ++bhome;
#ifdef WITH_SELINUX
- if (set_selinux_file_context (prefix_user_home) != 0) {
+ if (set_selinux_file_context (prefix_user_home, S_IFDIR) != 0) {
fprintf (stderr,
_("%s: cannot set SELinux context for home directory %s\n"),
Prog, user_home);
@@ -2101,7 +2213,11 @@ static void create_home (void)
*/
cp = strtok (bhome, "/");
while (cp) {
- strcat (path, "/");
+ /* Avoid turning a relative path into an absolute path.
+ */
+ if (bhome[0] == '/' || strlen (path) != 0) {
+ strcat (path, "/");
+ }
strcat (path, cp);
if (access (path, F_OK) != 0) {
/* Check if parent directory is BTRFS, fail if requesting
@@ -2160,11 +2276,15 @@ static void create_home (void)
}
cp = strtok (NULL, "/");
}
+ free (bhome);
(void) chown (prefix_user_home, user_id, user_gid);
mode_t mode = getdef_num ("HOME_MODE",
0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
- chmod (prefix_user_home, mode);
+ if (chmod (prefix_user_home, mode)) {
+ fprintf (stderr, _("%s: warning: chown on '%s' failed: %m\n"),
+ Prog, path);
+ }
home_added = true;
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, Prog,
@@ -2210,6 +2330,16 @@ static void create_mail (void)
sprintf (file, "%s/%s/%s", prefix, spool, user_name);
else
sprintf (file, "%s/%s", spool, user_name);
+
+#ifdef WITH_SELINUX
+ if (set_selinux_file_context (file, S_IFREG) != 0) {
+ fprintf (stderr,
+ _("%s: cannot set SELinux context for mailbox file %s\n"),
+ Prog, file);
+ fail_exit (E_MAILBOXFILE);
+ }
+#endif
+
fd = open (file, O_CREAT | O_WRONLY | O_TRUNC | O_EXCL, 0);
if (fd < 0) {
perror (_("Creating mailbox file"));
@@ -2234,9 +2364,39 @@ static void create_mail (void)
fsync (fd);
close (fd);
+#ifdef WITH_SELINUX
+ /* Reset SELinux to create files with default contexts */
+ if (reset_selinux_file_context () != 0) {
+ fprintf (stderr,
+ _("%s: cannot reset SELinux file creation context\n"),
+ Prog);
+ fail_exit (E_MAILBOXFILE);
+ }
+#endif
}
}
+static void check_uid_range(int rflg, uid_t user_id)
+{
+ uid_t uid_min ;
+ uid_t uid_max ;
+ if(rflg){
+ uid_min = (uid_t)getdef_ulong("SYS_UID_MIN",101UL);
+ uid_max = (uid_t)getdef_ulong("SYS_UID_MAX",getdef_ulong("UID_MIN",1000UL)-1);
+ if(uid_min <= uid_max){
+ if(user_id < uid_min || user_id >uid_max)
+ fprintf(stderr, _("%s warning: %s's uid %d outside of the SYS_UID_MIN %d and SYS_UID_MAX %d range.\n"), Prog, user_name, user_id, uid_min, uid_max);
+ }
+ }else{
+ uid_min = (uid_t)getdef_ulong("UID_MIN", 1000UL);
+ uid_max = (uid_t)getdef_ulong("UID_MAX", 6000UL);
+ if(uid_min <= uid_max){
+ if(user_id < uid_min || user_id >uid_max)
+ fprintf(stderr, _("%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"), Prog, user_name, user_id, uid_min, uid_max);
+ }
+ }
+
+}
/*
* main - useradd command
*/
@@ -2252,12 +2412,15 @@ int main (int argc, char **argv)
#ifdef ENABLE_SUBIDS
uid_t uid_min;
uid_t uid_max;
+ unsigned long subuid_count;
+ unsigned long subgid_count;
#endif
/*
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
@@ -2292,12 +2455,19 @@ int main (int argc, char **argv)
#ifdef ENABLE_SUBIDS
uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL);
uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL);
- is_sub_uid = sub_uid_file_present () && !rflg &&
+ subuid_count = getdef_ulong ("SUB_UID_COUNT", 65536);
+ subgid_count = getdef_ulong ("SUB_GID_COUNT", 65536);
+ is_sub_uid = subuid_count > 0 && sub_uid_file_present () && !rflg &&
(!user_id || (user_id <= uid_max && user_id >= uid_min));
- is_sub_gid = sub_gid_file_present () && !rflg &&
+ is_sub_gid = subgid_count > 0 && sub_gid_file_present () && !rflg &&
(!user_id || (user_id <= uid_max && user_id >= uid_min));
#endif /* ENABLE_SUBIDS */
+ if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name,
+ "useradd")) {
+ exit(1);
+ }
+
#ifdef ACCT_TOOLS_SETUID
#ifdef USE_PAM
{
@@ -2419,6 +2589,8 @@ int main (int argc, char **argv)
}
}
+ if(uflg)
+ check_uid_range(rflg,user_id);
#ifdef WITH_TCB
if (getdef_bool ("USE_TCB")) {
if (shadowtcb_create (user_name, user_id) == SHADOWTCB_FAILURE) {
@@ -2444,16 +2616,16 @@ int main (int argc, char **argv)
}
#ifdef ENABLE_SUBIDS
- if (is_sub_uid) {
- if (find_new_sub_uids(user_name, &sub_uid_start, &sub_uid_count) < 0) {
+ if (is_sub_uid && sub_uid_count != 0) {
+ if (find_new_sub_uids(&sub_uid_start, &sub_uid_count) < 0) {
fprintf (stderr,
_("%s: can't create subordinate user IDs\n"),
Prog);
fail_exit(E_SUB_UID_UPDATE);
}
}
- if (is_sub_gid) {
- if (find_new_sub_gids(user_name, &sub_gid_start, &sub_gid_count) < 0) {
+ if (is_sub_gid && sub_gid_count != 0) {
+ if (find_new_sub_gids(&sub_gid_start, &sub_gid_count) < 0) {
fprintf (stderr,
_("%s: can't create subordinate group IDs\n"),
Prog);
@@ -2510,6 +2682,11 @@ int main (int argc, char **argv)
}
#endif /* WITH_SELINUX */
+ if (run_parts ("/etc/shadow-maint/useradd-post.d", (char*)user_name,
+ "useradd")) {
+ exit(1);
+ }
+
nscd_flush_cache ("passwd");
nscd_flush_cache ("group");
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
diff --git a/src/userdel.c b/src/userdel.c
index cc951e58..79a7c899 100644
--- a/src/userdel.c
+++ b/src/userdel.c
@@ -31,19 +31,17 @@
*/
#include <config.h>
-
-#ident "$Id$"
-
#include <assert.h>
+#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
#include <getopt.h>
#include <grp.h>
#include <pwd.h>
#include <stdio.h>
-#include <stdio.h>
-#include <sys/stat.h>
#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
#ifdef ACCT_TOOLS_SETUID
#ifdef USE_PAM
#include "pam_defs.h"
@@ -61,10 +59,14 @@
#ifdef SHADOWGRP
#include "sgroupio.h"
#endif /* SHADOWGRP */
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+#endif /* WITH_SELINUX */
#ifdef WITH_TCB
#include <tcb.h>
#include "tcbfuncs.h"
#endif /* WITH_TCB */
+#include "run_part.h"
/*@-exitarg@*/
#include "exitcodes.h"
#ifdef ENABLE_SUBIDS
@@ -89,6 +91,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char *user_name;
static uid_t user_id;
@@ -150,8 +153,9 @@ static void usage (int status)
"\n"
"Options:\n"),
Prog);
- (void) fputs (_(" -f, --force force removal of files,\n"
- " even if not owned by user\n"),
+ (void) fputs (_(" -f, --force force some actions that would fail otherwise\n"
+ " e.g. removal of user still logged in\n"
+ " or files, even if not owned by the user\n"),
usageout);
(void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
(void) fputs (_(" -r, --remove remove home directory and mail spool\n"), usageout);
@@ -1012,6 +1016,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
(void) textdomain (PACKAGE);
@@ -1143,6 +1148,10 @@ int main (int argc, char **argv)
{
const struct passwd *pwd;
+ if (run_parts ("/etc/shadow-maint/userdel-pre.d", user_name,
+ "userdel")) {
+ exit(1);
+ }
pw_open(O_RDONLY);
pwd = pw_locate (user_name); /* we care only about local users */
if (NULL == pwd) {
@@ -1342,6 +1351,10 @@ int main (int argc, char **argv)
user_cancel (user_name);
close_files ();
+ if (run_parts ("/etc/shadow-maint/userdel-post.d", user_name, "userdel")) {
+ exit(1);
+ }
+
#ifdef WITH_TCB
errors += remove_tcbdir (user_name, user_id);
#endif /* WITH_TCB */
diff --git a/src/usermod.c b/src/usermod.c
index 05b98715..03bb9b9d 100644
--- a/src/usermod.c
+++ b/src/usermod.c
@@ -68,6 +68,9 @@
#ifdef ENABLE_SUBIDS
#include "subordinateio.h"
#endif /* ENABLE_SUBIDS */
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+#endif /* WITH_SELINUX */
#ifdef WITH_TCB
#include "tcbfuncs.h"
#endif
@@ -102,6 +105,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static char *user_name;
static char *user_newname;
@@ -183,6 +187,7 @@ static bool sub_gid_locked = false;
static void date_to_str (/*@unique@*//*@out@*/char *buf, size_t maxsize,
long int date);
static int get_groups (char *);
+static struct group * get_local_group (char * grp_name);
static /*@noreturn@*/void usage (int status);
static void new_pwent (struct passwd *);
static void new_spent (struct spwd *);
@@ -196,7 +201,9 @@ static void grp_update (void);
static void process_flags (int, char **);
static void close_files (void);
+static void close_group_files (void);
static void open_files (void);
+static void open_group_files (void);
static void usr_update (void);
static void move_home (void);
static void update_lastlog (void);
@@ -254,6 +261,11 @@ static int get_groups (char *list)
}
/*
+ * Open the group files
+ */
+ open_group_files ();
+
+ /*
* So long as there is some data to be converted, strip off each
* name and look it up. A mix of numerical and string values for
* group identifiers is permitted.
@@ -272,7 +284,7 @@ static int get_groups (char *list)
* Names starting with digits are treated as numerical GID
* values, otherwise the string is looked up as is.
*/
- grp = prefix_getgr_nam_gid (list);
+ grp = get_local_group (list);
/*
* There must be a match, either by GID value or by
@@ -322,6 +334,8 @@ static int get_groups (char *list)
gr_free ((struct group *)grp);
} while (NULL != list);
+ close_group_files ();
+
user_groups[ngroups] = (char *) 0;
/*
@@ -334,6 +348,44 @@ static int get_groups (char *list)
return 0;
}
+/*
+ * get_local_group - checks if a given group name exists locally
+ *
+ * get_local_group() checks if a given group name exists locally.
+ * If the name exists the group information is returned, otherwise NULL is
+ * returned.
+ */
+static struct group * get_local_group(char * grp_name)
+{
+ const struct group *grp;
+ struct group *result_grp = NULL;
+ long long int gid;
+ char *endptr;
+
+ gid = strtoll (grp_name, &endptr, 10);
+ if ( ('\0' != *grp_name)
+ && ('\0' == *endptr)
+ && (ERANGE != errno)
+ && (gid == (gid_t)gid)) {
+ grp = gr_locate_gid ((gid_t) gid);
+ }
+ else {
+ grp = gr_locate(grp_name);
+ }
+
+ if (grp != NULL) {
+ result_grp = __gr_dup (grp);
+ if (NULL == result_grp) {
+ fprintf (stderr,
+ _("%s: Out of memory. Cannot find group '%s'.\n"),
+ Prog, grp_name);
+ fail_exit (E_GRP_UPDATE);
+ }
+ }
+
+ return result_grp;
+}
+
#ifdef ENABLE_SUBIDS
struct ulong_range
{
@@ -819,6 +871,8 @@ static void update_group (void)
SYSLOG ((LOG_WARN, "failed to prepare the new %s entry '%s'", gr_dbname (), ngrp->gr_name));
fail_exit (E_GRP_UPDATE);
}
+
+ gr_free(ngrp);
}
}
@@ -954,6 +1008,8 @@ static void update_gshadow (void)
sgr_dbname (), nsgrp->sg_name));
fail_exit (E_GRP_UPDATE);
}
+
+ free (nsgrp);
}
}
#endif /* SHADOWGRP */
@@ -984,7 +1040,7 @@ static void grp_update (void)
static void process_flags (int argc, char **argv)
{
const struct group *grp;
-
+ struct stat st;
bool anyflag = false;
{
@@ -1058,6 +1114,12 @@ static void process_flags (int argc, char **argv)
}
dflg = true;
user_newhome = optarg;
+ if (user_newhome[0] != '/') {
+ fprintf (stderr,
+ _("%s: homedir must be an absolute path\n"),
+ Prog);
+ exit (E_BAD_ARG);
+ }
break;
case 'e':
if ('\0' != *optarg) {
@@ -1094,6 +1156,7 @@ static void process_flags (int argc, char **argv)
}
user_newgid = grp->gr_gid;
gflg = true;
+ gr_free (grp);
break;
case 'G':
if (get_groups (optarg) != 0) {
@@ -1132,12 +1195,25 @@ static void process_flags (int argc, char **argv)
case 'P': /* no-op, handled in process_prefix_flag () */
break;
case 's':
- if (!VALID (optarg)) {
+ if ( ( !VALID (optarg) )
+ || ( ('\0' != optarg[0])
+ && ('/' != optarg[0])
+ && ('*' != optarg[0]) )) {
fprintf (stderr,
- _("%s: invalid field '%s'\n"),
+ _("%s: invalid shell '%s'\n"),
Prog, optarg);
exit (E_BAD_ARG);
}
+ if ( '\0' != optarg[0]
+ && '*' != optarg[0]
+ && strcmp(optarg, "/sbin/nologin") != 0
+ && ( stat(optarg, &st) != 0
+ || S_ISDIR(st.st_mode)
+ || access(optarg, X_OK) != 0)) {
+ fprintf (stderr,
+ _("%s: Warning: missing or non-executable shell '%s'\n"),
+ Prog, optarg);
+ }
user_newshell = optarg;
sflg = true;
break;
@@ -1447,50 +1523,7 @@ static void close_files (void)
}
if (Gflg || lflg) {
- if (gr_close () == 0) {
- fprintf (stderr,
- _("%s: failure while writing changes to %s\n"),
- Prog, gr_dbname ());
- SYSLOG ((LOG_ERR,
- "failure while writing changes to %s",
- gr_dbname ()));
- fail_exit (E_GRP_UPDATE);
- }
-#ifdef SHADOWGRP
- if (is_shadow_grp) {
- if (sgr_close () == 0) {
- fprintf (stderr,
- _("%s: failure while writing changes to %s\n"),
- Prog, sgr_dbname ());
- SYSLOG ((LOG_ERR,
- "failure while writing changes to %s",
- sgr_dbname ()));
- fail_exit (E_GRP_UPDATE);
- }
- }
-#endif
-#ifdef SHADOWGRP
- if (is_shadow_grp) {
- if (sgr_unlock () == 0) {
- fprintf (stderr,
- _("%s: failed to unlock %s\n"),
- Prog, sgr_dbname ());
- SYSLOG ((LOG_ERR,
- "failed to unlock %s",
- sgr_dbname ()));
- /* continue */
- }
- }
-#endif
- if (gr_unlock () == 0) {
- fprintf (stderr,
- _("%s: failed to unlock %s\n"),
- Prog, gr_dbname ());
- SYSLOG ((LOG_ERR,
- "failed to unlock %s",
- gr_dbname ()));
- /* continue */
- }
+ close_group_files ();
}
if (is_shadow_pwd) {
@@ -1560,6 +1593,60 @@ static void close_files (void)
}
/*
+ * close_group_files - close all of the files that were opened
+ *
+ * close_group_files() closes all of the files that were opened related
+ * with groups. This causes any modified entries to be written out.
+ */
+static void close_group_files (void)
+{
+ if (gr_close () == 0) {
+ fprintf (stderr,
+ _("%s: failure while writing changes to %s\n"),
+ Prog, gr_dbname ());
+ SYSLOG ((LOG_ERR,
+ "failure while writing changes to %s",
+ gr_dbname ()));
+ fail_exit (E_GRP_UPDATE);
+ }
+#ifdef SHADOWGRP
+ if (is_shadow_grp) {
+ if (sgr_close () == 0) {
+ fprintf (stderr,
+ _("%s: failure while writing changes to %s\n"),
+ Prog, sgr_dbname ());
+ SYSLOG ((LOG_ERR,
+ "failure while writing changes to %s",
+ sgr_dbname ()));
+ fail_exit (E_GRP_UPDATE);
+ }
+ }
+#endif
+#ifdef SHADOWGRP
+ if (is_shadow_grp) {
+ if (sgr_unlock () == 0) {
+ fprintf (stderr,
+ _("%s: failed to unlock %s\n"),
+ Prog, sgr_dbname ());
+ SYSLOG ((LOG_ERR,
+ "failed to unlock %s",
+ sgr_dbname ()));
+ /* continue */
+ }
+ }
+#endif
+ if (gr_unlock () == 0) {
+ fprintf (stderr,
+ _("%s: failed to unlock %s\n"),
+ Prog, gr_dbname ());
+ SYSLOG ((LOG_ERR,
+ "failed to unlock %s",
+ gr_dbname ()));
+ /* continue */
+ }
+}
+
+/*
* open_files - lock and open the password files
*
* open_files() opens the two password files.
@@ -1594,38 +1681,7 @@ static void open_files (void)
}
if (Gflg || lflg) {
- /*
- * Lock and open the group file. This will load all of the
- * group entries.
- */
- if (gr_lock () == 0) {
- fprintf (stderr,
- _("%s: cannot lock %s; try again later.\n"),
- Prog, gr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
- gr_locked = true;
- if (gr_open (O_CREAT | O_RDWR) == 0) {
- fprintf (stderr,
- _("%s: cannot open %s\n"),
- Prog, gr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
-#ifdef SHADOWGRP
- if (is_shadow_grp && (sgr_lock () == 0)) {
- fprintf (stderr,
- _("%s: cannot lock %s; try again later.\n"),
- Prog, sgr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
- sgr_locked = true;
- if (is_shadow_grp && (sgr_open (O_CREAT | O_RDWR) == 0)) {
- fprintf (stderr,
- _("%s: cannot open %s\n"),
- Prog, sgr_dbname ());
- fail_exit (E_GRP_UPDATE);
- }
-#endif
+ open_group_files ();
}
#ifdef ENABLE_SUBIDS
if (vflg || Vflg) {
@@ -1662,6 +1718,44 @@ static void open_files (void)
}
/*
+ * open_group_files - lock and open the group files
+ *
+ * open_group_files() loads all of the group entries.
+ */
+static void open_group_files (void)
+{
+ if (gr_lock () == 0) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+ gr_locked = true;
+ if (gr_open (O_CREAT | O_RDWR) == 0) {
+ fprintf (stderr,
+ _("%s: cannot open %s\n"),
+ Prog, gr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+
+#ifdef SHADOWGRP
+ if (is_shadow_grp && (sgr_lock () == 0)) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+ sgr_locked = true;
+ if (is_shadow_grp && (sgr_open (O_CREAT | O_RDWR) == 0)) {
+ fprintf (stderr,
+ _("%s: cannot open %s\n"),
+ Prog, sgr_dbname ());
+ fail_exit (E_GRP_UPDATE);
+ }
+#endif
+}
+
+/*
* usr_update - create the user entries
*
* usr_update() creates the password file entries for this user and
@@ -1906,8 +2000,7 @@ static void update_lastlog (void)
/* Copy the old entry to its new location */
if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid)
|| (write (fd, &ll, sizeof ll) != (ssize_t) sizeof ll)
- || (fsync (fd) != 0)
- || (close (fd) != 0)) {
+ || (fsync (fd) != 0)) {
fprintf (stderr,
_("%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"),
Prog, (unsigned long) user_id, (unsigned long) user_newid, strerror (errno));
@@ -1923,16 +2016,15 @@ static void update_lastlog (void)
memzero (&ll, sizeof (ll));
if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid)
|| (write (fd, &ll, sizeof ll) != (ssize_t) sizeof ll)
- || (fsync (fd) != 0)
- || (close (fd) != 0)) {
+ || (fsync (fd) != 0)) {
fprintf (stderr,
_("%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"),
Prog, (unsigned long) user_id, (unsigned long) user_newid, strerror (errno));
}
- } else {
- (void) close (fd);
}
}
+
+ (void) close (fd);
}
/*
@@ -1967,8 +2059,7 @@ static void update_faillog (void)
/* Copy the old entry to its new location */
if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid)
|| (write (fd, &fl, sizeof fl) != (ssize_t) sizeof fl)
- || (fsync (fd) != 0)
- || (close (fd) != 0)) {
+ || (fsync (fd) != 0)) {
fprintf (stderr,
_("%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"),
Prog, (unsigned long) user_id, (unsigned long) user_newid, strerror (errno));
@@ -1983,16 +2074,15 @@ static void update_faillog (void)
/* Reset the new uid's faillog entry */
memzero (&fl, sizeof (fl));
if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid)
- || (write (fd, &fl, sizeof fl) != (ssize_t) sizeof fl)
- || (close (fd) != 0)) {
+ || (write (fd, &fl, sizeof fl) != (ssize_t) sizeof fl)) {
fprintf (stderr,
_("%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"),
Prog, (unsigned long) user_id, (unsigned long) user_newid, strerror (errno));
}
- } else {
- (void) close (fd);
}
}
+
+ (void) close (fd);
}
#ifndef NO_MOVE_MAILBOX
@@ -2118,6 +2208,7 @@ int main (int argc, char **argv)
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/src/vipw.c b/src/vipw.c
index 04f0b233..94185c3d 100644
--- a/src/vipw.c
+++ b/src/vipw.c
@@ -63,6 +63,7 @@
* Global variables
*/
const char *Prog;
+FILE *shadow_logfd = NULL;
static const char *filename, *fileeditname;
static bool filelocked = false;
@@ -243,13 +244,13 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void))
/* if SE Linux is enabled then set the context of all new files
to be the context of the file we are editing */
if (is_selinux_enabled () != 0) {
- security_context_t passwd_context=NULL;
+ char *passwd_context_raw = NULL;
int ret = 0;
- if (getfilecon (file, &passwd_context) < 0) {
+ if (getfilecon_raw (file, &passwd_context_raw) < 0) {
vipwexit (_("Couldn't get file context"), errno, 1);
}
- ret = setfscreatecon (passwd_context);
- freecon (passwd_context);
+ ret = setfscreatecon_raw (passwd_context_raw);
+ freecon (passwd_context_raw);
if (0 != ret) {
vipwexit (_("setfscreatecon () failed"), errno, 1);
}
@@ -401,7 +402,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void))
#ifdef WITH_SELINUX
/* unset the fscreatecon */
if (is_selinux_enabled () != 0) {
- if (setfscreatecon (NULL) != 0) {
+ if (setfscreatecon_raw (NULL) != 0) {
vipwexit (_("setfscreatecon () failed"), errno, 1);
}
}
@@ -481,6 +482,7 @@ int main (int argc, char **argv)
bool do_vipw;
Prog = Basename (argv[0]);
+ shadow_logfd = stderr;
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/ylwrap b/ylwrap
index 5943168d..d788f2da 100755
--- a/ylwrap
+++ b/ylwrap
@@ -1,9 +1,9 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# Written by Tom Tromey <tromey@cygnus.com>.
#
@@ -18,7 +18,7 @@ scriptversion=2018-03-07.03; # UTC
# 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, see <https://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -239,7 +239,7 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"