From: Sehong Na Date: Sat, 31 May 2014 03:58:42 +0000 (+0900) Subject: Initialize Tizen 2.3 X-Git-Tag: 2.3a_release X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d4cf4812d2d0d168a43f27eb284e73ca4d6a5ef9;p=external%2Fpsmisc.git Initialize Tizen 2.3 --- d4cf4812d2d0d168a43f27eb284e73ca4d6a5ef9 diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..ec20977 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1101 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is +a way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +1.1 Quick configuration advice +============================== + +If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +1.2 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU `gettext'. Other packages have their own ways to +internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the included GNU +`gettext' library will be used. This library is wholly contained +within this package, usually in the `intl/' subdirectory, so prior +installation of the GNU `gettext' package is _not_ required. +Installers may use special options at configuration time for changing +the default behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will, respectively, bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might not be desirable. You should use +the more recent version of the GNU `gettext' library. I.e. if the file +`intl/VERSION' shows that the library which comes with this package is +more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages usually have many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.3 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, +and `CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your language by running the +command `locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it's recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +1.4 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" +area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `translation@iro.umontreal.ca' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.5 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of October +2006. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo + +----------------------------------------------------+ + GNUnet | [] | + a2ps | [] [] [] [] [] | + aegis | () | + ant-phone | () | + anubis | [] | + ap-utils | | + aspell | [] [] [] [] [] | + bash | [] [] [] | + batchelor | [] | + bfd | | + bibshelf | [] | + binutils | [] | + bison | [] [] | + bison-runtime | | + bluez-pin | [] [] [] [] [] | + cflow | [] | + clisp | [] [] | + console-tools | [] [] | + coreutils | [] [] [] | + cpio | | + cpplib | [] [] [] | + cryptonit | [] | + darkstat | [] () [] | + dialog | [] [] [] [] [] [] | + diffutils | [] [] [] [] [] [] | + doodle | [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + error | [] [] [] [] | + fetchmail | [] [] () [] | + fileutils | [] [] | + findutils | [] [] [] | + flex | [] [] [] | + fslint | [] | + gas | | + gawk | [] [] [] | + gbiff | [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] | + gimp-print | [] [] [] [] | + gip | [] | + gliv | [] | + glunarclock | [] | + gmult | [] [] | + gnubiff | () | + gnucash | () () [] | + gnucash-glossary | [] () | + gnuedu | | + gnulib | [] [] [] [] [] [] | + gnunet-gtk | | + gnutls | | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | | + gpe-clock | [] [] | + gpe-conf | [] [] | + gpe-contacts | | + gpe-edit | [] | + gpe-filemanager | | + gpe-go | [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] | + gpe-package | | + gpe-sketchbook | [] [] | + gpe-su | [] [] | + gpe-taskmanager | [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | | + gphoto2 | [] [] [] [] | + gprof | [] [] | + gpsdrive | () () | + gramadoir | [] [] | + grep | [] [] [] [] [] [] | + gretl | | + gsasl | | + gss | | + gst-plugins | [] [] [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | () | + gtkam | [] [] [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] | + id-utils | [] [] | + impost | | + indent | [] [] [] | + iso_3166 | [] [] | + iso_3166_2 | | + iso_4217 | [] | + iso_639 | [] [] | + jpilot | [] | + jtag | | + jwhois | | + kbd | [] [] [] [] | + keytouch | | + keytouch-editor | | + keytouch-keyboa... | | + latrine | () | + ld | [] | + leafpad | [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | [] | + libgpewidget | [] [] [] | + libgpg-error | [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] | + libgsasl | | + libiconv | [] [] | + libidn | [] [] | + lifelines | [] () | + lilypond | [] | + lingoteach | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | [] | + make | [] [] | + man-db | [] () [] [] | + minicom | [] [] [] | + mysecretdiary | [] [] | + nano | [] [] [] | + nano_1_0 | [] () [] [] | + opcodes | [] | + parted | | + pilot-qof | [] | + psmisc | [] | + pwdutils | | + python | | + qof | | + radius | [] | + recode | [] [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] | + sh-utils | [] [] | + shared-mime-info | [] [] [] [] | + sharutils | [] [] [] [] [] [] | + shishi | | + silky | | + skencil | [] () | + sketch | [] () | + solfege | | + soundtracker | [] [] | + sp | [] | + stardict | [] | + system-tools-ba... | [] [] [] [] [] [] [] [] [] | + tar | [] | + texinfo | [] [] [] | + textutils | [] [] [] | + tin | () () | + tp-robot | [] | + tuxpaint | [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] [] | + vorbis-tools | [] [] [] [] | + wastesedge | () | + wdiff | [] [] [] [] | + wget | [] [] | + xchat | [] [] [] [] [] [] | + xkeyboard-config | | + xpad | [] [] | + +----------------------------------------------------+ + af am ar az be bg bs ca cs cy da de el en en_GB eo + 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 + + es et eu fa fi fr ga gl gu he hi hr hu id is it + +--------------------------------------------------+ + GNUnet | | + a2ps | [] [] [] () | + aegis | | + ant-phone | [] | + anubis | [] | + ap-utils | [] [] | + aspell | [] [] [] | + bash | [] [] [] | + batchelor | [] [] | + bfd | [] | + bibshelf | [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] [] [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + cflow | [] | + clisp | [] [] | + console-tools | | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cpplib | [] [] | + cryptonit | [] | + darkstat | [] () [] [] [] | + dialog | [] [] [] [] [] [] [] [] | + diffutils | [] [] [] [] [] [] [] [] [] | + doodle | [] [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + error | [] [] [] [] [] | + fetchmail | [] | + fileutils | [] [] [] [] [] [] | + findutils | [] [] [] [] | + flex | [] [] [] | + fslint | [] | + gas | [] [] | + gawk | [] [] [] [] | + gbiff | [] | + gcal | [] [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] | + gimp-print | [] [] | + gip | [] [] [] | + gliv | () | + glunarclock | [] [] [] | + gmult | [] [] [] | + gnubiff | () () | + gnucash | () () () | + gnucash-glossary | [] [] | + gnuedu | [] | + gnulib | [] [] [] [] [] [] [] [] | + gnunet-gtk | | + gnutls | | + gpe-aerial | [] [] | + gpe-beam | [] [] | + gpe-calendar | | + gpe-clock | [] [] [] [] | + gpe-conf | [] | + gpe-contacts | [] [] | + gpe-edit | [] [] [] [] | + gpe-filemanager | [] | + gpe-go | [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] [] | + gpsdrive | () () [] () | + gramadoir | [] [] | + grep | [] [] [] [] [] [] [] [] [] [] [] [] | + gretl | [] [] [] | + gsasl | [] [] | + gss | [] | + gst-plugins | [] [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] [] | + gstreamer | [] [] [] | + gtick | [] | + gtkam | [] [] [] [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] [] [] | + impost | [] [] | + indent | [] [] [] [] [] [] [] [] [] [] | + iso_3166 | [] [] [] | + iso_3166_2 | [] | + iso_4217 | [] [] [] [] | + iso_639 | [] [] [] [] [] | + jpilot | [] [] | + jtag | [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + latrine | [] [] [] | + ld | [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | [] | + libgpewidget | [] [] [] [] [] | + libgpg-error | | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] | + libgsasl | [] [] | + libiconv | [] [] | + libidn | [] [] | + lifelines | () | + lilypond | [] | + lingoteach | [] [] [] | + lynx | [] [] [] | + m4 | [] [] [] [] | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] | + man-db | () | + minicom | [] [] [] [] | + mysecretdiary | [] [] [] | + nano | [] [] [] [] [] [] | + nano_1_0 | [] [] [] [] [] | + opcodes | [] [] [] [] | + parted | [] [] [] [] | + pilot-qof | | + psmisc | [] [] [] | + pwdutils | | + python | | + qof | [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] [] | + shared-mime-info | [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] [] | + shishi | | + silky | [] | + skencil | [] [] | + sketch | [] [] | + solfege | [] | + soundtracker | [] [] [] | + sp | [] | + stardict | [] | + system-tools-ba... | [] [] [] [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] | + textutils | [] [] [] [] [] | + tin | [] () | + tp-robot | [] [] [] [] | + tuxpaint | [] [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux | [] [] [] [] [] [] [] | + vorbis-tools | [] [] | + wastesedge | () | + wdiff | [] [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] [] | + xchat | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + xpad | [] [] [] | + +--------------------------------------------------+ + es et eu fa fi fr ga gl gu he hi hr hu id is it + 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 + + ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no + +-------------------------------------------------+ + GNUnet | | + a2ps | () [] [] () | + aegis | () | + ant-phone | [] | + anubis | [] [] [] | + ap-utils | [] | + aspell | [] [] | + bash | [] | + batchelor | [] [] | + bfd | | + bibshelf | [] | + binutils | | + bison | [] [] [] | + bison-runtime | [] [] [] | + bluez-pin | [] [] [] | + cflow | | + clisp | [] | + console-tools | | + coreutils | [] | + cpio | | + cpplib | [] | + cryptonit | [] | + darkstat | [] [] | + dialog | [] [] | + diffutils | [] [] [] | + doodle | | + e2fsprogs | [] | + enscript | [] | + error | [] | + fetchmail | [] [] | + fileutils | [] [] | + findutils | [] | + flex | [] [] | + fslint | [] [] | + gas | | + gawk | [] [] | + gbiff | [] | + gcal | | + gcc | | + gettext-examples | [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gimp-print | [] [] | + gip | [] [] | + gliv | [] | + glunarclock | [] [] | + gmult | [] [] | + gnubiff | | + gnucash | () () | + gnucash-glossary | [] | + gnuedu | | + gnulib | [] [] [] [] | + gnunet-gtk | | + gnutls | | + gpe-aerial | [] | + gpe-beam | [] | + gpe-calendar | [] | + gpe-clock | [] [] [] | + gpe-conf | [] [] | + gpe-contacts | [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | [] | + gphoto2 | [] [] | + gprof | | + gpsdrive | () () () | + gramadoir | () | + grep | [] [] [] [] | + gretl | | + gsasl | [] | + gss | | + gst-plugins | [] | + gst-plugins-base | | + gst-plugins-good | [] | + gstreamer | [] | + gtick | | + gtkam | [] | + gtkorphan | [] | + gtkspell | [] [] | + gutenprint | | + hello | [] [] [] [] [] [] | + id-utils | [] | + impost | | + indent | [] [] | + iso_3166 | [] | + iso_3166_2 | [] | + iso_4217 | [] [] [] | + iso_639 | [] [] | + jpilot | () () () | + jtag | | + jwhois | [] | + kbd | [] | + keytouch | [] | + keytouch-editor | | + keytouch-keyboa... | | + latrine | [] | + ld | | + leafpad | [] [] | + libc | [] [] [] [] [] | + libexif | | + libextractor | | + libgpewidget | [] | + libgpg-error | | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | [] | + libiconv | | + libidn | [] [] | + lifelines | [] | + lilypond | | + lingoteach | [] | + lynx | [] [] | + m4 | [] [] | + mailutils | | + make | [] [] [] | + man-db | () | + minicom | [] | + mysecretdiary | [] | + nano | [] [] [] | + nano_1_0 | [] [] [] | + opcodes | [] | + parted | [] [] | + pilot-qof | | + psmisc | [] [] [] | + pwdutils | | + python | | + qof | | + radius | | + recode | [] | + rpm | [] [] | + screem | [] | + scrollkeeper | [] [] [] [] | + sed | [] [] | + sh-utils | [] [] | + shared-mime-info | [] [] [] [] [] | + sharutils | [] [] | + shishi | | + silky | [] | + skencil | | + sketch | | + solfege | | + soundtracker | | + sp | () | + stardict | [] [] | + system-tools-ba... | [] [] [] [] | + tar | [] [] [] | + texinfo | [] [] [] | + textutils | [] [] [] | + tin | | + tp-robot | [] | + tuxpaint | [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] | + vorbis-tools | [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] | + xchat | [] [] [] [] | + xkeyboard-config | [] | + xpad | [] [] [] | + +-------------------------------------------------+ + ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no + 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 + + nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta + +------------------------------------------------------+ + GNUnet | | + a2ps | () [] [] [] [] [] [] | + aegis | () () | + ant-phone | [] [] | + anubis | [] [] [] | + ap-utils | () | + aspell | [] [] | + bash | [] [] [] | + batchelor | [] [] | + bfd | | + bibshelf | [] | + binutils | [] [] | + bison | [] [] [] [] [] | + bison-runtime | [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] [] | + cflow | [] | + clisp | [] | + console-tools | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + cpplib | [] | + cryptonit | [] [] | + darkstat | [] [] [] [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] | + diffutils | [] [] [] [] [] [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + error | [] [] [] [] | + fetchmail | [] [] [] | + fileutils | [] [] [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] [] [] | + fslint | [] [] [] [] | + gas | | + gawk | [] [] [] [] | + gbiff | [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] [] | + gimp-print | [] [] | + gip | [] [] [] [] | + gliv | [] [] [] [] | + glunarclock | [] [] [] [] [] [] | + gmult | [] [] [] [] | + gnubiff | () | + gnucash | () [] | + gnucash-glossary | [] [] [] | + gnuedu | | + gnulib | [] [] [] [] [] | + gnunet-gtk | [] | + gnutls | [] [] | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] [] [] [] [] [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] [] [] [] | + gpe-login | [] [] [] [] [] [] [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] | + grep | [] [] [] [] [] [] [] [] | + gretl | [] | + gsasl | [] [] [] | + gss | [] [] [] | + gst-plugins | [] [] [] [] | + gst-plugins-base | [] | + gst-plugins-good | [] [] [] [] | + gstreamer | [] [] [] | + gtick | [] | + gtkam | [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] | + gutenprint | [] | + hello | [] [] [] [] [] [] [] [] | + id-utils | [] [] [] [] | + impost | [] | + indent | [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] [] [] | + iso_639 | [] [] [] [] | + jpilot | | + jtag | [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + latrine | [] [] | + ld | [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | [] [] | + libgpewidget | [] [] [] [] [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] | + libidn | [] [] () | + lifelines | [] [] | + lilypond | | + lingoteach | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailutils | [] [] [] [] | + make | [] [] [] [] | + man-db | [] [] | + minicom | [] [] [] [] [] | + mysecretdiary | [] [] [] [] | + nano | [] [] [] | + nano_1_0 | [] [] [] [] | + opcodes | [] [] | + parted | [] | + pilot-qof | [] | + psmisc | [] [] | + pwdutils | [] [] | + python | | + qof | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + rpm | [] [] [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] | + shared-mime-info | [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + silky | [] | + skencil | [] [] [] | + sketch | [] [] [] | + solfege | [] | + soundtracker | [] [] | + sp | | + stardict | [] [] [] | + system-tools-ba... | [] [] [] [] [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] [] | + tin | () | + tp-robot | [] | + tuxpaint | [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] [] | + vorbis-tools | [] [] | + wastesedge | | + wdiff | [] [] [] [] [] [] | + wget | [] [] [] [] | + xchat | [] [] [] [] [] [] [] | + xkeyboard-config | [] [] | + xpad | [] [] [] | + +------------------------------------------------------+ + nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta + 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 + + tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu + +---------------------------------------------------+ + GNUnet | [] | 2 + a2ps | [] [] [] | 19 + aegis | | 0 + ant-phone | [] [] | 6 + anubis | [] [] [] | 11 + ap-utils | () [] | 4 + aspell | [] [] [] | 15 + bash | [] | 11 + batchelor | [] [] | 9 + bfd | | 1 + bibshelf | [] | 7 + binutils | [] [] [] | 9 + bison | [] [] [] | 19 + bison-runtime | [] [] [] | 15 + bluez-pin | [] [] [] [] [] [] | 28 + cflow | [] [] | 5 + clisp | | 6 + console-tools | [] [] | 5 + coreutils | [] [] | 16 + cpio | [] [] [] | 9 + cpplib | [] [] [] [] | 11 + cryptonit | | 5 + darkstat | [] () () | 15 + dialog | [] [] [] [] [] | 30 + diffutils | [] [] [] [] | 28 + doodle | [] | 6 + e2fsprogs | [] [] | 10 + enscript | [] [] [] | 16 + error | [] [] [] [] | 18 + fetchmail | [] [] | 12 + fileutils | [] [] [] | 18 + findutils | [] [] [] | 17 + flex | [] [] | 15 + fslint | [] | 9 + gas | [] | 3 + gawk | [] [] | 15 + gbiff | [] | 5 + gcal | [] | 5 + gcc | [] [] [] | 6 + gettext-examples | [] [] [] [] [] [] | 27 + gettext-runtime | [] [] [] [] [] [] | 28 + gettext-tools | [] [] [] [] [] | 19 + gimp-print | [] [] | 12 + gip | [] [] | 12 + gliv | [] [] | 8 + glunarclock | [] [] [] | 15 + gmult | [] [] [] [] | 15 + gnubiff | [] | 1 + gnucash | () | 2 + gnucash-glossary | [] [] | 9 + gnuedu | [] | 2 + gnulib | [] [] [] [] [] | 28 + gnunet-gtk | | 1 + gnutls | | 2 + gpe-aerial | [] [] | 14 + gpe-beam | [] [] | 14 + gpe-calendar | [] | 3 + gpe-clock | [] [] [] [] | 21 + gpe-conf | [] [] | 14 + gpe-contacts | [] [] | 10 + gpe-edit | [] [] [] [] | 20 + gpe-filemanager | [] | 6 + gpe-go | [] [] | 15 + gpe-login | [] [] [] [] [] | 21 + gpe-ownerinfo | [] [] [] [] | 21 + gpe-package | [] | 6 + gpe-sketchbook | [] [] | 16 + gpe-su | [] [] [] | 20 + gpe-taskmanager | [] [] [] | 20 + gpe-timesheet | [] [] [] [] | 18 + gpe-today | [] [] [] [] [] | 21 + gpe-todo | [] | 7 + gphoto2 | [] [] [] [] | 20 + gprof | [] [] | 11 + gpsdrive | | 4 + gramadoir | [] | 7 + grep | [] [] [] [] | 34 + gretl | | 4 + gsasl | [] [] | 8 + gss | [] | 5 + gst-plugins | [] [] [] | 15 + gst-plugins-base | [] [] [] | 9 + gst-plugins-good | [] [] [] [] [] | 20 + gstreamer | [] [] [] | 17 + gtick | [] | 3 + gtkam | [] | 13 + gtkorphan | [] | 7 + gtkspell | [] [] [] [] [] [] | 26 + gutenprint | | 3 + hello | [] [] [] [] [] | 37 + id-utils | [] [] | 14 + impost | [] | 4 + indent | [] [] [] [] | 25 + iso_3166 | [] [] [] [] | 16 + iso_3166_2 | | 2 + iso_4217 | [] [] | 14 + iso_639 | [] | 14 + jpilot | [] [] [] [] | 7 + jtag | [] | 3 + jwhois | [] [] [] | 13 + kbd | [] [] | 12 + keytouch | [] | 4 + keytouch-editor | | 2 + keytouch-keyboa... | [] | 3 + latrine | [] [] | 8 + ld | [] [] [] [] | 8 + leafpad | [] [] [] [] | 23 + libc | [] [] [] | 23 + libexif | [] | 4 + libextractor | [] | 5 + libgpewidget | [] [] [] | 19 + libgpg-error | [] | 4 + libgphoto2 | [] | 8 + libgphoto2_port | [] [] [] | 11 + libgsasl | [] | 8 + libiconv | [] | 7 + libidn | [] [] | 10 + lifelines | | 4 + lilypond | | 2 + lingoteach | [] | 6 + lynx | [] [] [] | 15 + m4 | [] [] [] | 18 + mailutils | [] | 8 + make | [] [] [] | 20 + man-db | [] | 6 + minicom | [] | 14 + mysecretdiary | [] [] | 12 + nano | [] [] | 17 + nano_1_0 | [] [] [] | 18 + opcodes | [] [] | 10 + parted | [] [] [] | 10 + pilot-qof | [] | 3 + psmisc | [] | 10 + pwdutils | [] | 3 + python | | 0 + qof | [] | 4 + radius | [] | 6 + recode | [] [] [] | 25 + rpm | [] [] [] [] | 14 + screem | [] | 2 + scrollkeeper | [] [] [] [] | 26 + sed | [] [] [] | 22 + sh-utils | [] | 15 + shared-mime-info | [] [] [] [] | 24 + sharutils | [] [] [] | 23 + shishi | | 1 + silky | [] | 4 + skencil | [] | 7 + sketch | | 6 + solfege | | 2 + soundtracker | [] [] | 9 + sp | [] | 3 + stardict | [] [] [] [] | 11 + system-tools-ba... | [] [] [] [] [] [] [] | 37 + tar | [] [] [] [] | 20 + texinfo | [] [] [] | 15 + textutils | [] [] [] | 17 + tin | | 1 + tp-robot | [] [] [] | 10 + tuxpaint | [] [] [] | 16 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux | [] [] [] | 20 + vorbis-tools | [] [] | 11 + wastesedge | | 1 + wdiff | [] [] | 22 + wget | [] [] [] | 19 + xchat | [] [] [] [] | 29 + xkeyboard-config | [] [] [] [] | 11 + xpad | [] [] [] | 14 + +---------------------------------------------------+ + 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu + 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If October 2006 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. + +1.6 Using `gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`translation@iro.umontreal.ca' to make the `.pot' files available to +the translation teams. + diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..5114799 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,3 @@ +Werner Almesberger +Craig Small +peekfd written by Trent Waddington diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..befbfa2 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,725 @@ +Changes in 22.20 +================ + * pstree sorts properly on names Debian #682014 + * fuser -m regresion fixed SF #3559232, thanks to hanpt + * pstree finds orphaned processes SF#3537508 + * fuser finds unix sockets again SF #3502649 + * pstree finds pid 0 stops looping Debian #687829 + +Changes in 22.19 +================ + * killall with no args exits again SF #3536526 + +Changes in 22.18 +================ + * Added AC_CANONICAL_TARGET for target_os Debian #673485 + * sed doesn't have [0-9]+ replace with [0-9][0-9]* + * assert in killall triggered for small lifetimes Debian #628617 + * killall MAX_NAMES off by one Debian #677428 + * Removed remaining parts of pidof + +Changes in 22.17 +================ + * Make it possible to use --enable-timeout-stat as well as + --enable-timeout-stat=static for a static background process which + does the final stat system calls + * Do not mix HAVE_TIMEOUT_STAT with WITH_TIMEOUT_STAT + * Add timeout.c/timeout.h for static background process which is able + to read the file name from pipe, does the stat(2) system call, and + writes the result back to a pipe. + * Really add ASCII null at command string in add_proc() of pstree.c + * fuser uses correct timeout_stat define Debian #661723 + * fuser is not compiled on hurd-i386 Debian #673485 + * No TEXTRELS in src/lists built as PIE on x86 + * Fake pstree root for kernels with hidepid turned on + * More fixes for Cygwin SF Patch #3511920 + * pstree can show PGIDs SF Patch #3471056 + +Changes in 22.16 +================ + * Use strncpy for COMM_LEN and make it 18 characters to cover brackets + in name. + * don't change COMM_LEN, it breaks matching long commands + Debian #661145 + * Enable some harden AM_CFLAGS by default, use configure option + --disable-harden-flags to not use it. + +Changes in 22.15 +================ + * Really apply patch for SF#31110178 RH#651794, SF#3317431 + * Conditionally use fork before stat calls SF#3427522 + * Patch from Corrina Vinschen for compiling on cygwin + * Use ENOENT not EBADE for FreeBSD Debian #631566 + * Fix prstat typos + * Stop zombies by using waitpid Ubuntu #876387 by Peter Holik, SF#3429674 + * Fixed minor older/younger typo in killall.1 thanks to Maikel Linke + * Remove doubled content in src/lists.h + * Add another 2 for thread brackets in pstree.c + * Correct defines for timeout in configure.ac + +Changes in 22.14 +================ + * Fix file descriptor as well as memory leaks in fuser + * Strip @ symbol from file names read from /proc/net/unix + * Above 2 changes close openSuSE bugs #536209, #529520, and #417841 + and provided by Werner Fink + * Applied patch from Werner Fink to avoid stat(2) on NFS mounts + * Zeros process group memory - Patch by jgorig SF#3152925 RH#666213 + * fuser -m -s flags work - Patch by jgorig SF#31110178 RH#651794 + * fuser silent if /proc/swaps not available SF#3072134 + * ppc 64 support for peekfd by jgorig SF#3166444 + * jiffies now ULL in killall SF#3138538 + * pstree can show parents of a process. Patch supplied by Curtis + Hawthorne SF#3135157 + * killall creates right size buffer instead of MAX_PATH Debian #623425 + * check for /proc/$$/stat not /proc/self/stat which is not available + on hurd platforms. Same Debian bug as above + * fuser understands IPv6 addresses, removed comment in fuser.1 that it + doesn't Debian #609904 + * fuser -k only returns 0 if you kill something. + * fuser doesn't complain if /proc/#/fd disappears SF#3310990 + +Changes in 22.13 +================ + * configure patch for x86_64 properly applied SF#3029302 by snowman123 + * patch configure so pt_regs isn't used on SuperH. Fix by + Nobuhiro Iwamatsu in Debian #588986 + * Fixed configure.ac so only mipsel not mips compiles peekfd + +Changes in 22.12 +================ + * In fuser, switched the ipv6 and ipv4 checks around Debian #581604 + * peekfd configure patch for x86_64 SF#2986027 + * peekfd works with ARM and MIPS thanks to patch by Arnaud Patard + * peekfd off-by-one patch applied SF#1948351 + * pstree -a doesn't segfault on grsec kernels Debian #588152 + +Changes in 22.11 +================ + * Another attempted at killall -SIGNAME Debian #573924 + +Changes in 22.10 +================ + * fuser -k -m ... won't kill itself Debian #562767 + * fuser -NAME fixed SF #2924691, Debian #563388, Gentoo #297423 + * Added locale.h include for killall on non NLS SF #2922163 + * Reversed normal file fuser -k check Debian #563387 + +Changes in 22.9 +=============== + * short option l returned in fuser Debian #539087 + * long options terminated with 0s Debian #551833 + * fuser only kills normal processes, patch thanks to Erik Li SF# 2892724 + * New fuser -M if you REALLY want mount points, patch thanks to + Jeremie LE HEN SF#2899709 + * Fixed killall options for VTALRM and ILL Debian #559011 + * pstree -a does not compact threads Debian #525632 + * new program prtstat which prints contents of /proc//stat + Debian #281706 + * killall restricts by date. Thanks to George Danchev Debian #544657 + * long options terminated in pstree too to stop segfault + * Re-worked fuser getopt again so -KILL options work Gentoo #297423 + * Fix off-by-one overflow in pstree SF# 2832375 + +Changes in 22.8 +=============== + * Added Czech PO file + * rc1 update of Italian, Polish, Indonesian, Swedish and Russian PO files + * Updated Finnish, Italian and Vietnamese PO files + * Applied patch from Kari Hautio for lazy umount'ed filesystems SF#2545632 + * Applied patch from Anonymous SF submitter to fix killall -l + Fixes SF#2002570 + * fuser will print mounts,nfs exports and swaps with -v Debian #356655 + and SF#533958 + * pstree and fuser have long options Debian #517412 + * Fixed pstree -a off-by-one error in buffer, Debian #536243 + * Changed configure.ac to not use CXX SF# 2789801 + +Changes in 22.7 +=============== +2009-05-04 Craig Small + * Updated Polish, Russian, Swedish and Indonesian PO files + +2009-04-26 Craig Small + * Changed fuser.1 so signal is SIGNAL to reduce confusion about wether + or not it is a parameter Debian #517413 + * fuser.1 references pkill(1) Debian #517414 + +2009-03-27 Craig Small + * Added Chinese (traditional) PO file + +2009-01-14 Craig Small + * Updated Russian PO file + * Clarified -m and -c for fuser Debian #467289 + +2008-12-16 Craig Small + * Patch from Arnaud Giersch to fix udp ports in fuser Debian #502208 + * pstree man page mentions -Z may not be available Debian #478327 + * pstree handles UTF-8 lengths much better Debian #413503 + * killall says no process found when process not found Debian #500097 + * pstree makes a bigger buffer for -al flags Debian #352603 + +2008-12-05 Craig Small + * Dynamically reallocate buffer for fuser patch from Don Armstrong + +2008-11-11 Craig Small + * Updated Indonesian PO file + +2008-08-09 Craig Small + * peekfd off by one problem in fds Debian #460530 + +2007-11-19 Craig Small + * Patch from Marcus Watts for better comm handling in pstree + * Updated Hungarian po file + +2007-11-13 Craig Small + * Updated French and German po files + * Fuser -m detects more open sockets SF patch #1728412 Thnks marienz + +2007-11-07 Craig Small + * Updated Italian, Chinese simplified, Dutch, Swedish and Polish po files + * Removed old fuser + +Changes in 22.6 +=============== +2007-08-09 Craig Small + * killall.1 mentions you can use -SIGxxx as well as just -XXX for signal + Debian #431082 + +2007-07-04 Tomas Smetana + * Added support for PPC architecture for peekfd + +2007-06-25 Craig Small + * Updated the Chinese simplified po file + +2007-06-21 Tomas Smetana + * Added support for x86_64 architecture for peekfd + +2007-06-13 Craig Small + * Added Chinese simplified po file + +2007-05-31 Craig Small + * Updated Dutch, Vietnamese, Polish and Italian translations + * Patch for peekfd from Benno Schulenberg + +2007-04-30 Craig Small + * Fixed up NLS for fuser, patch from Benno Schulenberg + * killall asks for Signal (procname) if not SIGTERM + +Changes in 22.5 +=============== +2007-04-18 Craig Small + * Conditonally compile peekfd if the right registers are found + +Changes in 22.4 +=============== +2007-04-11 Craig Small + * fuser correctly parses remote tcp ports Debian #397033 + * Removed extra blank lines in fuser Debian #386564 + +2007-03-02 Karel Zak + * killall does textual path comparision with value of the + /proc//exe link when a comparision with inode number failed. + The old algorithme based on inode numbers doesn't work if since + the process was started, the file at has been replaced + (e.g due prelink process). + +2007-03-02 Craig Small + * Added peekfd + +2007-03-02 gettextize + + * m4/gettext.m4: Upgrade to gettext-0.16.1. + * m4/iconv.m4: Upgrade to gettext-0.16.1. + * m4/lib-ld.m4: Upgrade to gettext-0.16.1. + * m4/lib-link.m4: Upgrade to gettext-0.16.1. + * m4/lib-prefix.m4: Upgrade to gettext-0.16.1. + * m4/nls.m4: Upgrade to gettext-0.16.1. + * m4/po.m4: Upgrade to gettext-0.16.1. + * m4/progtest.m4: Upgrade to gettext-0.16.1. + * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.16.1. + +2006-09-28 Craig Small + * fuser tcp works on 64bit, after actually reading the submitted patch + and applying it, thankyou nigel_ding, SF# 1551731 + * Added Russian translation SF Patch #1288068 + +Changes in 22.3 +================ +2006-08-09 Craig Small + * Updated Hungarian PO file + +2006-05-25 Craig Small + * Updated Swedish PO file + * Fixed fuser man page ... Debian #358880 + +2006-04-05 Karel Zak + * fuser return code set correcly in silent mode Debian #361639 + * fuser -l doesnt complain but list signal names only + +2006-03-24 Craig Small + * Updated Bulgarian and Italian PO files + * Added Japanese and Hungarian PO files + * Moved some NEWS into README + * Removed killall flag from NEWS, its really OLDS + * fuser -n tcp port,host,host2 parses correctly + +Changes in 22.2 +=============== +2006-03-09 Craig Small + * Updated Nowegian and Vietnamese PO files + +2006-03-07 Craig Small + * Updated Polish and Dutch PO files + +2006-01-27 Craig Small + * Unix sockets work on all hosts now, including ones that don't have + network device set to 0. + * TCP/UDP6 sockets are found a bit better. + * Makefile changed so signames builds in all locales. Thanks to Mike + Frysinger for the patch. + * Return code works + + +2006-01-23 Craig Small + * Updated Swedish, Vietnamese and Italian PO files + * Minor fixes for some error messages, thanks to Benno. + + +2006-01-13 Craig Small + * Updated Polish and dutch PO files + * Added Bulgarian PO file + +Changes in 22.1 +=============== +2006-01-12 Craig Small + * Updated German PO file Debian #313934 + * Updated Swedish PO file + +2006-01-04 Craig Small + * fuser signals eg -INT work better + * removed space out of fuser man page for -signal + +2005-12-16 Craig Small + * fuser -s flag works Debian #344901 + * fix grep lines in Makefile for i386 arches Debian #344172 + * Updsated Polish PO file + +Changes in 21.9 +=============== +2005-12-16 Craig Small + * Fixed install-exec-hook so only symlink pstree.x11 if file does not + exist already. + * Updated Vietnamese PO file + +2005-12-02 Karel Zak + * buffer overflow in killall scanf removed + +2005-11-26 Paul Martin + * Fixed segfault in pstree -a Debian #338108 + +2005-11-22 Craig Small + * fuser can not use IPv6, for things like uClibc + * configure has --disable-ipv6 for above + +2005-11-15 Craig Small + * fuser finds unix sockets. Debian #338868 + +2005-11-05 Rene Rebe + * fixed print_matches to only print unmatched objects if -a is + specified and to output the header for -v + * Above patch fixes Debian #342765 + * fixed argument parsing to handle groups like -av again + +Changes in 21.8 +=============== + * fuser returns 1 if no match found like before. + * fuser.1 spells behavior correctly Debian: #337190 + + +Changes in 21.7 +=============== + * Upgraded SELinux code to new api, thanks to Chris PeBenito + * define rpmatch for libraries that dont have it + * Fixed small typos in help, thanks to Benno Schulenberg + fixes SF# 1150042 + * Completed change from Flask to SELinux, thanks to Benno Schulenberg + * pstree works better with uClibc, thanks Mike Frysinger + * fuser rewritten: possibly fixes Debian #312560 + * fuser prints F instead of f is access is write, thanks to Tet. + * pstree checks to see it is a real tty Debian #326500 + * pstree shows child threads with {commandname} Debian #230924 + * better capitalisation with usage SF# 1150042 + * Added warning about fuser and tcp/udp access Debian #327813 + * pstree defaults to ASCII not VT100 until problems with terminals + are fixed Debian #288856 + * fuser doesnt complain if it cannot scan some mount points Debian + #299153 + + * Applied psmisc-21.4-alt-progname to find pstrees name + * configure.in checks for tinfo library + * both above fixes from ALTLinux + + * Added -u option for killall to kill process by user + * Removed old FLASK_LINUX define in pstree + * Added -r for to killall for regex matching for proc names + * Thanks to Karel Zak from RedHat for the patches + + + +Changes in 21.6 +=============== + +2005-03-11 + * Minor typo (specificiation) fixed + * Added closing bracket in fuser help + * Added Finnish translation + * Localised the yes/no prompts with rpmatch() + * Fixed NLS problems and some double ))s - Thanks to Jakub Bogusz + * Added Basque translation + * More NLS related fixes - Thanks to Guillem Jover + * killall aborts if it gets unknown flags Debian #250794 + * Symbolic link created properly for pstree.x11 Debian #250096 + * Strange mount points handled better Debian #178972 + * Added Catalan translation + * killall can be case insenstive now + * Warning in killall.1 about process changing names Debian #187941 + * Removed include termcap.h to fix RH include problem. + * Added Vietnamese translation + * Fixed --enable-flask logic SF#1094205 + * Added Norwegian Bokmaal translation + * Fixed groff madness with fuser(1) Debian #298199 + * Added Dutch translation + +Changes in 21.5 +=============== +2004-05-25 Craig Small + * Sven Dahl provides a patch for using psmisc with uclibc + * Sid flag in options is d not S. SF#791537 + * Fixed typo in checking ss_family SF#845292 + * Lines not truncated using UTF-8 SF Patch: #757164 Debian: #151523 + * Case insensitve matching with -I flags SF Patch: #740662 + * inode and devices use ino_t and dev_t SF#: + * Allow pstree to use ASCII characters with -A flag, patch by + Branden Robinson Debian: #240973 + * Debug "here" statement removed + * POSIX -m option added, part of SF Bug: #901841 + * fuser sends PIDs only to stdout, the rest goes to stderr. + Changed for POSIX compatibility + * Silently ignore -f option, for POSIX + * Using automake 1.8 now + * Built source signames.h not distributed in tar Debian: #240986 + * Manual page for fuser explains -SIG is ignored with no -k + Debian: #222935 + +2004-04-05 gettextize + + * Makefile.am (SUBDIRS): Add m4. + (SUBDIRS): Remove intl. + (ACLOCAL_AMFLAGS): New variable. + (EXTRA_DIST): Add config.rpath. + * configure.in (AC_CONFIG_FILES): Add m4/Makefile. + +Changes in 21.4 +=============== +2003-11-28 Craig Small + * Typos in killall.1 fixed Closes Debian: #198189 + * fuser -ki now tells user default is N Closes Debian: #197356 + * pstree -a doesn't print space at end of line Closes Debian: #182099 + * Works with new sort flags +2 -> -k 3 Thankyou Andrew Walrond + * pstree.x11 now just pstree with a trick Closes Debian: #201042 + * Icons for pstree, thankyou Tatlin! Closes Debian: #192636 + * Removed message if no processes found, + * Excess blanks in fuser removed. + * Two lines above close Debian: #212795 + + +Changes in 21.3 +=============== +2003-04-03 Craig Small + * SELinux SID selection uses -d instead of -S to stop the confusion of + signal names, no flags with upper case letters ok? + Closes Debian: #193790, #163360 + * Doesnt segfault on long cmdnames, thanks Ben Low Closes Debian: #187241 + * Updated libtool and friends so it works on new coreutils + +2003-04-03 Craig Small + * More fixes for types, also some GCC 3.2 fixes, thanks to + Stefan at SuSE + +2002-09-27 Craig Small + * Changed a long to a long long in pstree. + +Changes in 21.2 +=============== +2002-09-27 Craig Small + * Big bug in pstree, pstree -a would often fail badly. swapped variable + not set. + * Removed pidof.1 and a variable not used. + * Thanks to Peter Breitenlohner for all this info and Adam Conrad for + the test ppc machine. + +Changes in 21.1 +=============== +2002-09-05 Craig Small + * Added SELINUX patches from Russell Coker + +2002-08-19 Craig Small + * Changed killall.1 to be less ambigous, Debian #127851 + +2002-08-18 + * Added patches from James Morrison so it works on Hurd + * Fixed UTF8 Problem. closes Debian #140960 + * Return for fuser -k will mean no. + +2002-08-17 + * Now has LFS support. Closes Debian #129157 and #156017 + * Fixed pstree -a extra bracket problem, Closes Debian #96791 + +2002-08-16 gettextize + + * Makefile.am (SUBDIRS): Add m4. + * Makefile.am (SUBDIRS): Remove intl. + (SUBDIRS): Remove intl. + (ACLOCAL_AMFLAGS): New variable. + (EXTRA_DIST): Add config.rpath. + * configure.in (AC_OUTPUT): Add po/Makefile.in, + (AC_OUTPUT): Remove intl/Makefile. + + * config.guess and config.sub are no longer syminks + + +Changes in 21 (15-MAY-2002) +=========================== + - signames.h is cleaned no more wrong signal types + - More translatable strings + - Added Portuguese Language (thanks to Edesio Costa e Silva) + - Added Italian Language (thanks to Daniele Pagano) + - Added French Language (thanks to Marc Léger) + - Added German Language (thanks to Wolfgang Schorer) + - Added Swedish Language (thanks to Joakim Mared) + +Changes in 20.2 (18-OCT-2001) +============================= + - Added NLS/gettext + - fuser no longer assume st_dev is 0 for sockets, needed for kernel 2.4.12 + and above, Thanks to Alexander Viro for the patch. + - Search both IPv4 and IPv6 namespaces. + - Added patch for pstree -u (SF Patch: #455932 ) + +Changes in 20.1 (31-MAR-2001) +============================= + - command line - put back in. + - got rid of annoying "sending signal #" debug message + - updated killall.1 + - updated killall usage + - verbose now tells you what signal it is killing with. + +Changes from 19 to 20 (14-DEC-2000) +=================================== + - New maintainer + - Uses automake/autoconf to determine things + - License changed to GPL + - signames.h generated better (suggested by Grant Erickson) + - uses getopt() for better command line stuff + - makes less assumptions about process name, closes Debian Bug #53337 + - Doesn't use losetup for loop devices in fuser. + - Better selection of process name (thanks to David desJardins) + +Changes from version 18 to 19 (25-OCT-1999) +=========================================== + + - pstree: "static int" was only "static" (fix by Jeremy Buhler) + - now uses cc -E instead of /lib/cpp (suggested by Kristofer Karas) + - fuser: -s conflicted with -k (reported by David Hinds) + - fuser: using -a with -s now yields an error + - added a sanity check for signames.h (suggested by John Summerfield) + - only "signals" < 100 are now added to signames.h, eliminating SIGSTKSZ + + +Changes from version 17 to 18 (1-NOV-1998) +========================================== + + - fuser: usage summary listed -s (silent) as -q + - fuser: fuser x/y yielded confusing error message if x/y doesn't exist + (reported by Tigran Aivazian) + - fuser: new option -i for interactive killing (like killall -i) + - killall: tried to print a NULL pointer if full process name was unavailable + and killing failed + - killall: new option -g to kill process group instead of process + - killall: cosmetic PROC_BASE changes (by Florian La Roche) + - pidof: new option -g to show PGID instead of PID (by Florian La Roche) + - pstree: new option -H to highlight process specified by PID + - added -D_GNU_SOURCE to CFLAGS for glibc 2 compatibility + - Makefile should now also work with bash-2 + + +Changes from version 16 to 17 (17-FEB-1998) +=========================================== + + - fuser: now also handles /proc of recent 2.1 kernels (fix by Andreas Schwab; + other fixed also proposed by Chris Wedgwood and Luca Berra) + - pstree now properly handles init with PID = PPID = 1 + - fuser: no longer changes the name space for relative paths ending with the + name of a name space (e.g. something/tcp) + - fuser: now also reports mount points, swap files, and loop mounts + - updated the fuser man page + - killall: new option -w to wait for the killed processes to die + - killall: didn't handle malloc failure + + +Changes from version 15 to 16 (28-JUL-1997) +=========================================== + + - killall: now gets the list of all PIDs before killing processes, thereby + avoiding race between readdir and /proc (found by Boris Zentner) + - make install no longer changes BINDIR and MANDIR if they already exist + - changed psmisc..lsm to psmisc-.lsm for consistency + + +Changes from version 14 to 15 (16-JUN-1997) +=========================================== + + - killall: killall -v didn't print the command name (fixed by Marty Leisner) + - fuser: fuser -a could crash (reported by Helmut Geyer) + - fuser: fuser -m didn't consider UNIX domain sockets (fix based on a patch by + Andries Brouwer) + - fuser: fuser -a /a /a /b no longer merges the first two entries + - changed package name format from psmisc. to psmisc- to + avoid annoyance messages from sunsite's archive scripts + + +Changes from version 13 to 14 (19-APR-1997) +=========================================== + + - killall: command-line parser didn't accept -signal (fixed by Chris Wedgwood) + - pidof: minor man page correction + - Makefile: pidof is now only installed when running make install-pidof + - added a file with installation instructions (INSTALL) + + +Changes from version 12 to 13 (16-APR-1997) +=========================================== + + - fuser: didn't check for out of memory condition after malloc (oops !) + - fuser: INET domain sockets can now be specified as + [local_port][,[remote_host][,[remote_port]]] + - fuser: now includes linux/kdev_t.h instead of linux/fs.h. This may break + compilation with some ancient kernels. + - killall: new option -q to suppress error message if no process was found + - killall: man page didn't reset font properly + - killall: now tries harder to handle very long names (> 15 characters) + (proposed by Erik Thiele) + - killall: new option -e to require exact name match + - killall: now lists PIDs if invoked as "pidof" (proposed by Peter Daum) + - minor Makefile change to eliminate need to patch for some versions of Linux + + +Changes from version 11 to 12 (7-APR-1996) +========================================== + + - fuser is now able to look up INET and UNIX domain sockets + - pstree: new option -n to sort its output by PID + - pstree: new option -G to use VT100 line drawing characters + + +Changes from version 10 to 11 (20-SEP-1995) +=========================================== + + - added VERSION file + - size of command name is now defined in comm.h - the old approach of + obtaining values from linux/sched.h:struct task_struct doesn't work anymore) + - signames.h is now generated from cpp output (linux/signals.h no longer + defines them) + - all commands now print the version number when invoked with the -V option + - signames.h added to make clean + - removed use of {,} expansion in mkdist + - various minor documentation fixes + + +Changes from version 9 to 10 (28-MAR-1995) +========================================== + + - fuser: now prints header before first path (used to be on same line) + - fuser: fixed line wrapping for long paths (used to wrap too early) + - fuser: fixed a NULL pointer dereference in add_file + - pstree: now outputs strings obtained from termcap with tputs + - some cosmetic changes (to avoid certain warnings if using -Wconversion) + - updated e-mail address in README + +Changes from version 8 to 9 (22-JAN-1995) +========================================= + + - fuser: now works with Plan 9 semantics (i.e. what recent kernels use; + reported by Harald Koenig, Nick Simicich, and others) + - fuser: now also scans /proc/*/maps + - fuser: fixed NULL pointer dereferencing when processes are created while + fuser is running (fix by Pauline Middelink) + - fuser: now resets effective uid to real uid before killing, thereby making + suid installation a smaller security risk + - pstree: fixed process tree truncation (fix by Andreas Schwab) + - pstree: added support for UTF-8 line drawing characters (adapted a patch by + Johan Myreen) + - killall.1 now warns about potential compatibility problems with killall + on other systems (proposed by Christos Ricudis) + - added a copyright notice + - updated e-mail address + +Changes from version 7 to 8 (11-OCT-1994) +========================================= + + - pstree: added -a to display command line arguments + - pstree, fuser and killall: display an error message if /proc has + no process entries (i.e. if it is not mounted) + - killall: more detailed usage output + - killall: added killing by file + - fuser and killall: fixed generation of signal list to include SIGUSR[12] + - fuser: now also accepts signal numbers + - "make install": now also installs man pages; executable permissions changed + from 755 to 555; now installs fuser in /bin, killall and pstree in /usr/bin + - "make spotless": fixed typo + - man pages: minor corrections and improvements + +Changes from version 6 to 7 +=========================== + + - pstree: -h didn't work because of incorrect termcap usage + - pstree: changed branch drawing from --- to -+- + \- `- + - pstree: fixed indentation inside compacted subtrees + - fuser and killall: don't kill themselves + - fuser: suppresses m(map) if file is e(xecuted) + - mkdist now includes itself + - minor updates on all man pages + +Changes from version 5 to 6 +=========================== + + - pstree: unknown display width expressed as zero width (TIOCGWINSZ) is + now correctly handled. + - fuser: added -s for silent operation. + - fuser: added non-zero return code if no processes using any file are + found. + - pstree and fuser: non-printable characters in command names (fuser: also + in file names) are now shown as \nnn (octal). \ is shown as \\. + - added "install" target to Makefile to install binaries in /usr/local/bin + - minor updates on all man pages. + +Changes from version 4 to 5 +=========================== + + - killall: added interactive and verbose modes (options -i and -v) + - fuser: added 0.99pl11 support (changed /proc/*/lib to /proc/*/mmap) + - fuser: mmap'ed files and shared libraries are now marked with "m" + (shlibs were marked with "s" and mmap'ed files weren't marked + at all) + +Changes from version 3 to 4 +=========================== + + - killall and fuser: now accept signal numbers too. + - pstree: added listing of process trees by user name. + - pstree: compaction sometimes generated wrong output. + - fuser: did only recognize the first occurrence of a file when using + the options -u or -v. + - changed Makefile to create stripped impure executables. diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..a1e89e1 --- /dev/null +++ b/INSTALL @@ -0,0 +1,370 @@ +Installation Instructions +************************* + +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + + The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..8196886 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,6 @@ + +SUBDIRS = doc src po icons testsuite + +#EXTRA_DIST = config.rpath ABOUT-NLS mkinstalldirs + +ACLOCAL_AMFLAGS = -I m4 diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..7512d4e --- /dev/null +++ b/Makefile.in @@ -0,0 +1,764 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +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@ +target_triplet = @target@ +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ + INSTALL NEWS config/config.guess config/config.rpath \ + config/config.sub config/depcomp config/install-sh \ + config/missing +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/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ +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@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +SELINUX_LIB = @SELINUX_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TERMCAP_LIB = @TERMCAP_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_IPV6 = @WITH_IPV6@ +WITH_SELINUX = @WITH_SELINUX@ +WITH_TIMEOUT_STAT = @WITH_TIMEOUT_STAT@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +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@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = doc src po icons testsuite + +#EXTRA_DIST = config.rpath ABOUT-NLS mkinstalldirs +ACLOCAL_AMFLAGS = -I m4 +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + 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) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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 +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @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 + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod u+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +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-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ + distcheck distclean distclean-generic distclean-hdr \ + distclean-tags distcleancheck distdir distuninstallcheck 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 installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..631231c --- /dev/null +++ b/NEWS @@ -0,0 +1,3 @@ +Important NEWS for psmisc package +================================= + diff --git a/README b/README new file mode 100644 index 0000000..e9da6fc --- /dev/null +++ b/README @@ -0,0 +1,43 @@ +psmisc +====== + +This package contains five little utilities that use the proc FS: + + fuser identifies processes using files or sockets (similar to Sun's + or SGI's fuser) + killall kills processes by name, e.g. killall -HUP named + pstree shows the currently running processes as a tree + peekfd shows the data travelling over a file descriptor + +They should work with most recent kernels. Man pages are included. + +- Werner Almesberger + +src/loop.h was stolen from util-linux package which in turn stole it from +the Linux kernel. + +fuser on network fs +------------------- +On network filesystems, fuser can hang because its trying to stat files +that may go away. If you use the --with-timeout-stat option during +the configure step then fuser will fork a process to run stat. This means +fuser doesn't hang, but it is much slower. + +Translations +------------ +My thanks for the various translators who have cheerfully given me the po +files to make psmisc speak different languages. If your language is not +supported then let me know, all it takes is translating one file in +a certain manner. + +Icons +----- +The pstree icons were drawn by Tatlin at Coresis who has given permission +for them to be used for psmisc. + +Copyright Change +---------------- + +The license has changed to GPL for version 20 onwards with permission +of the original authors. People who want to use these programs under +the previous license will have to look at psmisc 19 or below. diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..7cd5df2 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,979 @@ +# generated automatically by aclocal 1.11.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 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. + +# 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. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +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'.])]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 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. + +# serial 1 + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.11' +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.11.6], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_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.11.6])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, 2003, 2005, 2011 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. + +# serial 1 + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# 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. + +# serial 9 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 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. + +# serial 12 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# 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. + +#serial 5 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Autoconf 2.62 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. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # 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. + 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"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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 +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008, 2009 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. + +# serial 16 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.62])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl +]) + +dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005, 2008, 2011 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. + +# serial 1 + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 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. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2009 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. + +# serial 4 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @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= +_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, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# 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. + +# serial 6 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006, 2011 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. + +# serial 1 + +# 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 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, 2002, 2003, 2005, 2008, 2010 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. + +# serial 5 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 +# 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. + +# serial 5 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005, 2011 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. + +# serial 1 + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006, 2008, 2010 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. + +# serial 3 + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005, 2012 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. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/gettext.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..a3d7245 --- /dev/null +++ b/config.h.in @@ -0,0 +1,291 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the `closedir' function returns void instead of `int'. */ +#undef CLOSEDIR_VOID + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + +/* Define to 1 if you have the header file. */ +#undef HAVE_ARPA_INET_H + +/* Define to 1 if you have the `atexit' function. */ +#undef HAVE_ATEXIT + +/* 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 MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the `getmntent' function. */ +#undef HAVE_GETMNTENT + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define if you have the iconv() function. */ +#undef HAVE_ICONV + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LANGINFO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIBINTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if `lstat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_LSTAT_EMPTY_STRING_BUG + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#undef HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#undef HAVE_MEMSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_MNTENT_H + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_NETDB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_NETINET_IN_H + +/* Define to 1 if you have the `nl_langinfo' function. */ +#undef HAVE_NL_LANGINFO + +/* Define to 1 if you have the `rawmemchr' function. */ +#undef HAVE_RAWMEMCHR + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#undef HAVE_REALLOC + +/* Define to 1 if you have the `regcomp' function. */ +#undef HAVE_REGCOMP + +/* Define to 1 if you have the `rpmatch' function. */ +#undef HAVE_RPMATCH + +/* Define to 1 if you have the `setlocale' function. */ +#undef HAVE_SETLOCALE + +/* Define to 1 if you have the `socket' function. */ +#undef HAVE_SOCKET + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_STAT_EMPTY_STRING_BUG + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strpbrk' function. */ +#undef HAVE_STRPBRK + +/* Define to 1 if you have the `strrchr' function. */ +#undef HAVE_STRRCHR + +/* Define to 1 if you have the `strtoul' function. */ +#undef HAVE_STRTOUL + +/* Define to 1 if `cp0_status' is a member of `struct pt_regs'. */ +#undef HAVE_STRUCT_PT_REGS_CP0_STATUS + +/* Define to 1 if `gpr' is a member of `struct pt_regs'. */ +#undef HAVE_STRUCT_PT_REGS_GPR + +/* Define to 1 if `orig_gpr3' is a member of `struct pt_regs'. */ +#undef HAVE_STRUCT_PT_REGS_ORIG_GPR3 + +/* Define to 1 if `regs' is a member of `struct pt_regs'. */ +#undef HAVE_STRUCT_PT_REGS_REGS + +/* Define to 1 if `uregs' is a member of `struct pt_regs'. */ +#undef HAVE_STRUCT_PT_REGS_UREGS + +/* Define to 1 if `st_rdev' is a member of `struct stat'. */ +#undef HAVE_STRUCT_STAT_ST_RDEV + +/* Define to 1 if `eax' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_EAX + +/* Define to 1 if `ebx' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_EBX + +/* Define to 1 if `ecx' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_ECX + +/* Define to 1 if `edx' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_EDX + +/* Define to 1 if `orig_eax' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_ORIG_EAX + +/* Define to 1 if `orig_rax' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_ORIG_RAX + +/* Define to 1 if `rax' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_RAX + +/* Define to 1 if `rdi' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_RDI + +/* Define to 1 if `rdx' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_RDX + +/* Define to 1 if `rsi' is a member of `struct user_regs_struct'. */ +#undef HAVE_STRUCT_USER_REGS_STRUCT_RSI + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SOCKET_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#undef HAVE_SYS_WAIT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_TERMIOS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Use IPv6 checks */ +#undef WITH_IPV6 + +/* Use Security-Enhanced Linux features */ +#undef WITH_SELINUX + +/* Use timeout on stat calls */ +#undef WITH_TIMEOUT_STAT + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +#undef _FILE_OFFSET_BITS + +/* Define for large files, on AIX-style hosts. */ +#undef _LARGE_FILES + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `int' if doesn't define. */ +#undef gid_t + +/* Define to rpl_malloc if the replacement function should be used. */ +#undef malloc + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to rpl_realloc if the replacement function should be used. */ +#undef realloc + +/* Define to `unsigned int' if does not define. */ +#undef size_t + +/* Define to `int' if doesn't define. */ +#undef uid_t diff --git a/config/config.guess b/config/config.guess new file mode 100755 index 0000000..d622a44 --- /dev/null +++ b/config/config.guess @@ -0,0 +1,1530 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +timestamp='2012-02-10' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config/config.rpath b/config/config.rpath new file mode 100755 index 0000000..c492a93 --- /dev/null +++ b/config/config.rpath @@ -0,0 +1,614 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2006 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally 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. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + darwin*) + case $cc_basename in + xlc*) + wl='-Wl,' + ;; + esac + ;; + mingw* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + newsos6) + ;; + linux*) + case $cc_basename in + icc* | ecc*) + wl='-Wl,' + ;; + pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + sco3.2v5*) + ;; + solaris*) + wl='-Wl,' + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # 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. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + interix3*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if test "$GCC" = yes ; then + : + else + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + openbsd*) + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +libname_spec='lib$name' +case "$host_os" in + aix3*) + ;; + aix4* | aix5*) + ;; + amigaos*) + ;; + beos*) + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + shrext=.dll + ;; + darwin* | rhapsody*) + shrext=.dylib + ;; + dgux*) + ;; + freebsd1*) + ;; + kfreebsd*-gnu) + ;; + freebsd* | dragonfly*) + ;; + gnu*) + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + ;; + interix3*) + ;; + irix5* | irix6* | nonstopux*) + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux*) + ;; + knetbsd*-gnu) + ;; + netbsd*) + ;; + newsos6) + ;; + nto-qnx*) + ;; + openbsd*) + ;; + os2*) + libname_spec='$name' + shrext=.dll + ;; + osf3* | osf4* | osf5*) + ;; + solaris*) + ;; + sunos4*) + ;; + sysv4 | sysv4.3*) + ;; + sysv4*MP*) + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + ;; + uts4*) + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i386-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config/depcomp b/config/depcomp new file mode 100755 index 0000000..25a39e6 --- /dev/null +++ b/config/depcomp @@ -0,0 +1,708 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2012-03-27.16; # UTC + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' "$nl" < "$tmpdepfile" | +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependent.h'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. + # However on + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\': + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + # tcc 0.9.26 (FIXME still under development at the moment of writing) + # will emit a similar output, but also prepend the continuation lines + # with horizontal tabulation characters. + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ + < "$tmpdepfile" > "$depfile" + sed ' + s/[ '"$tab"'][ '"$tab"']*/ /g + s/^ *// + s/ *\\*$// + s/^[^:]*: *// + /^$/d + /:$/d + s/$/ :/ + ' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' "$nl" < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/install-sh b/config/install-sh new file mode 100755 index 0000000..a9244eb --- /dev/null +++ b/config/install-sh @@ -0,0 +1,527 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2011-01-19.21; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for `test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # 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 -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/missing b/config/missing new file mode 100755 index 0000000..86a8fc3 --- /dev/null +++ b/config/missing @@ -0,0 +1,331 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2012-01-06.13; # UTC + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case $1 in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). This is about non-GNU programs, so use $1 not +# $program. +case $1 in + lex*|yacc*) + # Not GNU programs, they don't have --version. + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $program in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case $f in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te*) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison*|yacc*) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if test ! -f y.tab.h; then + echo >y.tab.h + fi + if test ! -f y.tab.c; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex*|flex*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if test ! -f lex.yy.c; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit $? + fi + ;; + + makeinfo*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..33e158f --- /dev/null +++ b/configure @@ -0,0 +1,9330 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for psmisc 22.20. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + 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 + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='psmisc' +PACKAGE_TARNAME='psmisc' +PACKAGE_VERSION='22.20' +PACKAGE_STRING='psmisc 22.20' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_unique_file="src/comm.h" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +gt_needs= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +DEJAGNU +LIBOBJS +WANT_PEEKFD_MIPS_FALSE +WANT_PEEKFD_MIPS_TRUE +WANT_PEEKFD_ARM_FALSE +WANT_PEEKFD_ARM_TRUE +WANT_PEEKFD_PPC_FALSE +WANT_PEEKFD_PPC_TRUE +WANT_PEEKFD_X86_64_FALSE +WANT_PEEKFD_X86_64_TRUE +WANT_PEEKFD_I386_FALSE +WANT_PEEKFD_I386_TRUE +WANT_FUSER_FALSE +WANT_FUSER_TRUE +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +INTL_MACOSX_LIBS +MSGMERGE +XGETTEXT_015 +XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT +MSGFMT +USE_NLS +HARDEN_CFLAGS +EGREP +GREP +CPP +TERMCAP_LIB +WITH_IPV6 +WANT_TIMEOUT_STAT_FALSE +WANT_TIMEOUT_STAT_TRUE +WITH_TIMEOUT_STAT +SELINUX_LIB +WITH_SELINUX +LN_S +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_dependency_tracking +enable_selinux +enable_timeout_stat +enable_harden_flags +enable_ipv6 +enable_nls +with_gnu_ld +enable_rpath +with_libiconv_prefix +with_libintl_prefix +enable_largefile +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +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 psmisc 22.20 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/psmisc] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of psmisc 22.20:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-selinux Enable Security-Enhanced Linux features + --enable-timeout-stat Use a timeout on stat calls (optional with argument + "static" for a static background process) + --disable-harden-flags disable hardened compilier and linker flags + --disable-ipv6 Disable IPv6 checks (for uClibc) + --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths + --disable-largefile omit support for large files + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=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 + --without-libintl-prefix don't search for libintl in includedir and libdir + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +psmisc configure 22.20 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_member + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* 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 $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +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 psmisc $as_me 22.20, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +gt_needs="$gt_needs " +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_config_headers="$ac_config_headers config.h" + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if ${ac_cv_target+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +am__api_version='1.11' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='psmisc' + VERSION='22.20' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @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= +_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 + + +{ $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 : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + + +# SELinux support - off by default + +# Check whether --enable-selinux was given. +if test "${enable_selinux+set}" = set; then : + enableval=$enable_selinux; enable_selinux=$enableval +else + enable_selinux="no" +fi + +if test "$enable_selinux" = "yes"; then + +$as_echo "#define WITH_SELINUX 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5 +$as_echo_n "checking for getfilecon in -lselinux... " >&6; } +if ${ac_cv_lib_selinux_getfilecon+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lselinux $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 getfilecon (); +int +main () +{ +return getfilecon (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_selinux_getfilecon=yes +else + ac_cv_lib_selinux_getfilecon=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_selinux_getfilecon" >&5 +$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; } +if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then : + SELINUX_LIB=-lselinux +else + + as_fn_error $? "Cannot find selinux static library" "$LINENO" 5 +fi + +fi + + +# Call fork before all stat calls to stop hanging on NFS mounts + +# Check whether --enable-timeout_stat was given. +if test "${enable_timeout_stat+set}" = set; then : + enableval=$enable_timeout_stat; enable_timeout_stat=$enableval +else + enable_timeout_stat="no" +fi + +if test "$enable_timeout_stat" = "yes"; then + +$as_echo "#define WITH_TIMEOUT_STAT 1" >>confdefs.h + +fi +if test "$enable_timeout_stat" = "static"; then + +$as_echo "#define WITH_TIMEOUT_STAT 2" >>confdefs.h + +fi + if test "$enable_timeout_stat" = "static"; then + WANT_TIMEOUT_STAT_TRUE= + WANT_TIMEOUT_STAT_FALSE='#' +else + WANT_TIMEOUT_STAT_TRUE='#' + WANT_TIMEOUT_STAT_FALSE= +fi + + +# Enable hardened compile and link flags +# Check whether --enable-harden_flags was given. +if test "${enable_harden_flags+set}" = set; then : + enableval=$enable_harden_flags; enable_harden_flags=$enableval +else + enable_harden_flags="yes" +fi + + + +# Check whether --enable-ipv6 was given. +if test "${enable_ipv6+set}" = set; then : + enableval=$enable_ipv6; enable_ipv6=$enableval +else + enable_ipv6="yes" +fi + +if test "$enable_ipv6" = "yes"; then + +$as_echo "#define WITH_IPV6 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5 +$as_echo_n "checking for tgetent in -ltinfo... " >&6; } +if ${ac_cv_lib_tinfo_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $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 tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_tinfo_tgetent=yes +else + ac_cv_lib_tinfo_tgetent=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_tinfo_tgetent" >&5 +$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; } +if test "x$ac_cv_lib_tinfo_tgetent" = xyes; then : + TERMCAP_LIB=-ltinfo +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 +$as_echo_n "checking for tgetent in -lncurses... " >&6; } +if ${ac_cv_lib_ncurses_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $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 tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ncurses_tgetent=yes +else + ac_cv_lib_ncurses_tgetent=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_ncurses_tgetent" >&5 +$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } +if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : + TERMCAP_LIB=-lncurses +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 +$as_echo_n "checking for tgetent in -ltermcap... " >&6; } +if ${ac_cv_lib_termcap_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltermcap $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 tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_termcap_tgetent=yes +else + ac_cv_lib_termcap_tgetent=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_termcap_tgetent" >&5 +$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } +if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : + TERMCAP_LIB=-ltermcap +else + as_fn_error $? "Cannot find tinfo, ncurses or termcap libraries" "$LINENO" 5 + +fi + + +fi + + +fi + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if ${ac_cv_header_sys_wait_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_sys_wait_h=yes +else + ac_cv_header_sys_wait_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +$as_echo "$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then + +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in arpa/inet.h fcntl.h langinfo.h libintl.h limits.h locale.h mntent.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h termios.h unistd.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" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "#define const /**/" >>confdefs.h + +fi + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" +if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_RDEV 1 +_ACEOF + + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "#define uid_t int" >>confdefs.h + + +$as_echo "#define gid_t int" >>confdefs.h + +fi + + +# Check that harden CFLAGS will compile +if test "$enable_harden_flags" = "yes"; then : + HARDEN_CFLAGS="-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler supports harden flags" >&5 +$as_echo_n "checking compiler supports harden flags... " >&6; } + save_harden_cflags="$CFLAGS" + CFLAGS="$CFLAGS $HARDEN_CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; }; HARDEN_CFLAGS='' + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$save_harden_cflags" +else + HARDEN_CFLAGS="" +fi + + + + + { $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. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + 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 + + 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 + + + +# 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 "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + + 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 + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$localedir" || localedir='${datadir}/locale' + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $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 + 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + 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 +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$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 ld's only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + 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 + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" \ + && { test -f "$additional_libdir/lib$name.$shlibext" \ + || { 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 $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + 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 + 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"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$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 + 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 $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$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 $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + + + + + + + { $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 : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes +else + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes +else + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h + + 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 + + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + 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" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + 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 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" +else + eval "$gt_func_gnugettext_libc=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +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 "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" \ + && { test -f "$additional_libdir/lib$name.$shlibext" \ + || { 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 $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" \ + && { test -f "$dir/lib$name.$shlibext" \ + || { 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 + 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"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$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 + 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 $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$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 $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + 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 : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libintl=yes" +else + eval "$gt_func_gnugettext_libintl=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +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" + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + + 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 + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + 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 + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + else + USE_NLS=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + + +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "orig_eax" "ac_cv_member_struct_user_regs_struct_orig_eax" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_orig_eax" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_ORIG_EAX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "eax" "ac_cv_member_struct_user_regs_struct_eax" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_eax" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_EAX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "ebx" "ac_cv_member_struct_user_regs_struct_ebx" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_ebx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_EBX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "ecx" "ac_cv_member_struct_user_regs_struct_ecx" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_ecx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_ECX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "edx" "ac_cv_member_struct_user_regs_struct_edx" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_edx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_EDX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "orig_rax" "ac_cv_member_struct_user_regs_struct_orig_rax" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_orig_rax" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_ORIG_RAX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "rax" "ac_cv_member_struct_user_regs_struct_rax" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_rax" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_RAX 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "rdi" "ac_cv_member_struct_user_regs_struct_rdi" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_rdi" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_RDI 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "rsi" "ac_cv_member_struct_user_regs_struct_rsi" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_rsi" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_RSI 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "rdx" "ac_cv_member_struct_user_regs_struct_rdx" "#include + #include +" +if test "x$ac_cv_member_struct_user_regs_struct_rdx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_RDX 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct pt_regs" "orig_gpr3" "ac_cv_member_struct_pt_regs_orig_gpr3" "#include +" +if test "x$ac_cv_member_struct_pt_regs_orig_gpr3" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PT_REGS_ORIG_GPR3 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct pt_regs" "gpr" "ac_cv_member_struct_pt_regs_gpr" "#include +" +if test "x$ac_cv_member_struct_pt_regs_gpr" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PT_REGS_GPR 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct pt_regs" "uregs" "ac_cv_member_struct_pt_regs_uregs" "#include +" +if test "x$ac_cv_member_struct_pt_regs_uregs" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PT_REGS_UREGS 1 +_ACEOF + + +fi + +ac_fn_c_check_member "$LINENO" "struct pt_regs" "regs" "ac_cv_member_struct_pt_regs_regs" "#include +" +if test "x$ac_cv_member_struct_pt_regs_regs" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PT_REGS_REGS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct pt_regs" "cp0_status" "ac_cv_member_struct_pt_regs_cp0_status" "#include +" +if test "x$ac_cv_member_struct_pt_regs_cp0_status" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PT_REGS_CP0_STATUS 1 +_ACEOF + + +fi + + +case ${target_os} in + gnu*) + want_fuser=no + ;; + *) + want_fuser=yes + ;; +esac + if test $want_fuser = yes; then + WANT_FUSER_TRUE= + WANT_FUSER_FALSE='#' +else + WANT_FUSER_TRUE='#' + WANT_FUSER_FALSE= +fi + + + if test $ac_cv_member_struct_user_regs_struct_orig_eax = yes && + test $ac_cv_member_struct_user_regs_struct_eax = yes && + test $ac_cv_member_struct_user_regs_struct_ebx = yes && + test $ac_cv_member_struct_user_regs_struct_ecx = yes && + test $ac_cv_member_struct_user_regs_struct_edx = yes ; then + WANT_PEEKFD_I386_TRUE= + WANT_PEEKFD_I386_FALSE='#' +else + WANT_PEEKFD_I386_TRUE='#' + WANT_PEEKFD_I386_FALSE= +fi + + if test $ac_cv_member_struct_user_regs_struct_orig_rax = yes && + test $ac_cv_member_struct_user_regs_struct_rax = yes && + test $ac_cv_member_struct_user_regs_struct_rdi = yes && + test $ac_cv_member_struct_user_regs_struct_rsi = yes && + test $ac_cv_member_struct_user_regs_struct_rdx = yes ; then + WANT_PEEKFD_X86_64_TRUE= + WANT_PEEKFD_X86_64_FALSE='#' +else + WANT_PEEKFD_X86_64_TRUE='#' + WANT_PEEKFD_X86_64_FALSE= +fi + + if test $ac_cv_member_struct_pt_regs_orig_gpr3 = yes && + test $ac_cv_member_struct_pt_regs_gpr = yes ; then + WANT_PEEKFD_PPC_TRUE= + WANT_PEEKFD_PPC_FALSE='#' +else + WANT_PEEKFD_PPC_TRUE='#' + WANT_PEEKFD_PPC_FALSE= +fi + + if test $ac_cv_member_struct_pt_regs_uregs = yes; then + WANT_PEEKFD_ARM_TRUE= + WANT_PEEKFD_ARM_FALSE='#' +else + WANT_PEEKFD_ARM_TRUE='#' + WANT_PEEKFD_ARM_FALSE= +fi + + if test $build_cpu = mipsel && + test $ac_cv_member_struct_pt_regs_regs = yes && + test $ac_cv_member_struct_pt_regs_cp0_status = yes; then + WANT_PEEKFD_MIPS_TRUE= + WANT_PEEKFD_MIPS_FALSE='#' +else + WANT_PEEKFD_MIPS_TRUE='#' + WANT_PEEKFD_MIPS_FALSE= +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 +$as_echo_n "checking whether closedir returns void... " >&6; } +if ${ac_cv_func_closedir_void+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_closedir_void=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header_dirent> +#ifndef __cplusplus +int closedir (); +#endif + +int +main () +{ +return closedir (opendir (".")) != 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_closedir_void=no +else + ac_cv_func_closedir_void=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 +$as_echo "$ac_cv_func_closedir_void" >&6; } +if test $ac_cv_func_closedir_void = yes; then + +$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h + +fi + +# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, +# -lseq on Dynix/PTX, -lgen on Unixware. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getmntent" >&5 +$as_echo_n "checking for library containing getmntent... " >&6; } +if ${ac_cv_search_getmntent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 getmntent (); +int +main () +{ +return getmntent (); + ; + return 0; +} +_ACEOF +for ac_lib in '' sun seq gen; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_getmntent=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_getmntent+:} false; then : + break +fi +done +if ${ac_cv_search_getmntent+:} false; then : + +else + ac_cv_search_getmntent=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getmntent" >&5 +$as_echo "$ac_cv_search_getmntent" >&6; } +ac_res=$ac_cv_search_getmntent +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + ac_cv_func_getmntent=yes + +$as_echo "#define HAVE_GETMNTENT 1" >>confdefs.h + +else + ac_cv_func_getmntent=no +fi + + +if test $ac_cv_c_compiler_gnu = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 +$as_echo_n "checking whether $CC needs -traditional... " >&6; } +if ${ac_cv_prog_gcc_traditional+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_pattern="Autoconf.*'x'" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 +$as_echo "$ac_cv_prog_gcc_traditional" >&6; } + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.sym conftest.file +echo >conftest.file +if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + ac_cv_func_lstat_dereferences_slashed_symlink=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by POSIX. + That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_lstat_dereferences_slashed_symlink=yes +else + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +else + # If the `ln -s' command failed, then we probably don't even + # have an lstat function. + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f conftest.sym conftest.file + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } + +test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && + +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +_ACEOF + + +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then + case " $LIBOBJS " in + *" lstat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lstat.$ac_objext" + ;; +esac + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat accepts an empty string" >&5 +$as_echo_n "checking whether lstat accepts an empty string... " >&6; } +if ${ac_cv_func_lstat_empty_string_bug+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_lstat_empty_string_bug=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + return lstat ("", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_lstat_empty_string_bug=no +else + ac_cv_func_lstat_empty_string_bug=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_empty_string_bug" >&5 +$as_echo "$ac_cv_func_lstat_empty_string_bug" >&6; } +if test $ac_cv_func_lstat_empty_string_bug = yes; then + case " $LIBOBJS " in + *" lstat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lstat.$ac_objext" + ;; +esac + + +cat >>confdefs.h <<_ACEOF +#define HAVE_LSTAT_EMPTY_STRING_BUG 1 +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.sym conftest.file +echo >conftest.file +if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + ac_cv_func_lstat_dereferences_slashed_symlink=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by POSIX. + That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_lstat_dereferences_slashed_symlink=yes +else + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +else + # If the `ln -s' command failed, then we probably don't even + # have an lstat function. + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f conftest.sym conftest.file + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } + +test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && + +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +_ACEOF + + +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then + case " $LIBOBJS " in + *" lstat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lstat.$ac_objext" + ;; +esac + +fi + +for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if ${ac_cv_func_malloc_0_nonnull+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_malloc_0_nonnull=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H +# include +#else +char *malloc (); +#endif + +int +main () +{ +return ! malloc (0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_malloc_0_nonnull=yes +else + ac_cv_func_malloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } +if test $ac_cv_func_malloc_0_nonnull = yes; then : + +$as_echo "#define HAVE_MALLOC 1" >>confdefs.h + +else + $as_echo "#define HAVE_MALLOC 0" >>confdefs.h + + case " $LIBOBJS " in + *" malloc.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS malloc.$ac_objext" + ;; +esac + + +$as_echo "#define malloc rpl_malloc" >>confdefs.h + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 +$as_echo_n "checking for working memcmp... " >&6; } +if ${ac_cv_func_memcmp_working+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_memcmp_working=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Some versions of memcmp are not 8-bit clean. */ + char c0 = '\100', c1 = '\200', c2 = '\201'; + if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) + return 1; + + /* The Next x86 OpenStep bug shows up only when comparing 16 bytes + or more and with at least one buffer not starting on a 4-byte boundary. + William Lewis provided this test program. */ + { + char foo[21]; + char bar[21]; + int i; + for (i = 0; i < 4; i++) + { + char *a = foo + i; + char *b = bar + i; + strcpy (a, "--------01111111"); + strcpy (b, "--------10000000"); + if (memcmp (a, b, 16) >= 0) + return 1; + } + return 0; + } + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_memcmp_working=yes +else + ac_cv_func_memcmp_working=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_memcmp_working" >&5 +$as_echo "$ac_cv_func_memcmp_working" >&6; } +test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in + *" memcmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" + ;; +esac + + +for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 +$as_echo_n "checking for GNU libc compatible realloc... " >&6; } +if ${ac_cv_func_realloc_0_nonnull+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_realloc_0_nonnull=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H +# include +#else +char *realloc (); +#endif + +int +main () +{ +return ! realloc (0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_realloc_0_nonnull=yes +else + ac_cv_func_realloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } +if test $ac_cv_func_realloc_0_nonnull = yes; then : + +$as_echo "#define HAVE_REALLOC 1" >>confdefs.h + +else + $as_echo "#define HAVE_REALLOC 0" >>confdefs.h + + case " $LIBOBJS " in + *" realloc.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS realloc.$ac_objext" + ;; +esac + + +$as_echo "#define realloc rpl_realloc" >>confdefs.h + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 +$as_echo_n "checking whether stat accepts an empty string... " >&6; } +if ${ac_cv_func_stat_empty_string_bug+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_stat_empty_string_bug=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + return stat ("", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_stat_empty_string_bug=no +else + ac_cv_func_stat_empty_string_bug=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_stat_empty_string_bug" >&5 +$as_echo "$ac_cv_func_stat_empty_string_bug" >&6; } +if test $ac_cv_func_stat_empty_string_bug = yes; then + case " $LIBOBJS " in + *" stat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS stat.$ac_objext" + ;; +esac + + +cat >>confdefs.h <<_ACEOF +#define HAVE_STAT_EMPTY_STRING_BUG 1 +_ACEOF + +fi + +for ac_func in atexit getmntent memset nl_langinfo rawmemchr regcomp rpmatch setlocale socket strcasecmp strchr strdup strerror strpbrk strrchr strtoul +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + + +if test x"$DEJAGNU" = x +then + DEJAGNU="\$(top_srcdir)/testsuite/global-conf.exp" +fi + + +ac_config_files="$ac_config_files Makefile doc/Makefile src/Makefile icons/Makefile po/Makefile.in testsuite/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_TIMEOUT_STAT_TRUE}" && test -z "${WANT_TIMEOUT_STAT_FALSE}"; then + as_fn_error $? "conditional \"WANT_TIMEOUT_STAT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_FUSER_TRUE}" && test -z "${WANT_FUSER_FALSE}"; then + as_fn_error $? "conditional \"WANT_FUSER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_PEEKFD_I386_TRUE}" && test -z "${WANT_PEEKFD_I386_FALSE}"; then + as_fn_error $? "conditional \"WANT_PEEKFD_I386\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_PEEKFD_X86_64_TRUE}" && test -z "${WANT_PEEKFD_X86_64_FALSE}"; then + as_fn_error $? "conditional \"WANT_PEEKFD_X86_64\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_PEEKFD_PPC_TRUE}" && test -z "${WANT_PEEKFD_PPC_FALSE}"; then + as_fn_error $? "conditional \"WANT_PEEKFD_PPC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_PEEKFD_ARM_TRUE}" && test -z "${WANT_PEEKFD_ARM_FALSE}"; then + as_fn_error $? "conditional \"WANT_PEEKFD_ARM\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WANT_PEEKFD_MIPS_TRUE}" && test -z "${WANT_PEEKFD_MIPS_FALSE}"; then + as_fn_error $? "conditional \"WANT_PEEKFD_MIPS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + 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 + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by psmisc $as_me 22.20, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +psmisc config.status 22.20 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# 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%}" + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "icons/Makefile") CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 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. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # 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. + 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 + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + 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"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //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' -e 's/\$U/'"$U"'/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\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "po-directories":C) + 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 ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..9df639d --- /dev/null +++ b/configure.ac @@ -0,0 +1,180 @@ +dnl Process this file with autoconf to produce a configure script. +AC_PREREQ([2.68]) +AC_CONFIG_MACRO_DIR([m4]) +AC_INIT([psmisc],[22.20]) +AC_CONFIG_SRCDIR([src/comm.h]) +AC_CONFIG_HEADER([config.h]) +AC_CONFIG_AUX_DIR([config]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE([1.10]) +AC_LANG([C]) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_MAKE_SET +AC_PROG_LN_S + +dnl checks for options +# SELinux support - off by default +AC_SUBST([WITH_SELINUX]) +AC_ARG_ENABLE([selinux], + [AS_HELP_STRING([--enable-selinux], [Enable Security-Enhanced Linux features])], + [enable_selinux=$enableval], + [enable_selinux="no"]) +if test "$enable_selinux" = "yes"; then + AC_DEFINE([WITH_SELINUX], [1], [Use Security-Enhanced Linux features]) + AC_CHECK_LIB([selinux], [getfilecon], [SELINUX_LIB=-lselinux], [ + AC_MSG_ERROR([Cannot find selinux static library]) ]) +fi +AC_SUBST([SELINUX_LIB]) + +# Call fork before all stat calls to stop hanging on NFS mounts +AC_SUBST([WITH_TIMEOUT_STAT]) +AC_ARG_ENABLE([timeout_stat], + [AS_HELP_STRING([--enable-timeout-stat], [Use a timeout on stat calls (optional with argument "static" for a static background process)])], + [enable_timeout_stat=$enableval], + [enable_timeout_stat="no"]) +if test "$enable_timeout_stat" = "yes"; then + AC_DEFINE([WITH_TIMEOUT_STAT], [1], [Use timeout on stat calls]) +fi +if test "$enable_timeout_stat" = "static"; then + AC_DEFINE([WITH_TIMEOUT_STAT], [2], [Use timeout on stat calls]) +fi +AM_CONDITIONAL([WANT_TIMEOUT_STAT], [test "$enable_timeout_stat" = "static"]) + +# Enable hardened compile and link flags +AC_ARG_ENABLE([harden_flags], + [AS_HELP_STRING([--disable-harden-flags], [disable hardened compilier and linker flags])], + [enable_harden_flags=$enableval], + [enable_harden_flags="yes"]) + +dnl ipv4 only option +AC_SUBST([WITH_IPV6]) +AC_ARG_ENABLE([ipv6], + [AS_HELP_STRING([--disable-ipv6], [Disable IPv6 checks (for uClibc)])], + [enable_ipv6=$enableval], + [enable_ipv6="yes"]) +if test "$enable_ipv6" = "yes"; then + AC_DEFINE([WITH_IPV6], [1], [Use IPv6 checks]) +fi + +dnl Checks for libraries. +AC_CHECK_LIB([tinfo], [tgetent], [TERMCAP_LIB=-ltinfo], + [ AC_CHECK_LIB([ncurses], [tgetent], [TERMCAP_LIB=-lncurses], + [ AC_CHECK_LIB([termcap], [tgetent], [TERMCAP_LIB=-ltermcap], + [ AC_MSG_ERROR([Cannot find tinfo, ncurses or termcap libraries]) + ] ) + ] ) + ] ) +AC_SUBST([TERMCAP_LIB]) + +dnl Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([arpa/inet.h fcntl.h langinfo.h libintl.h limits.h locale.h mntent.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h termios.h unistd.h]) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_CHECK_MEMBERS([struct stat.st_rdev]) +AC_TYPE_UID_T + +# Check that harden CFLAGS will compile +AS_IF([test "$enable_harden_flags" = "yes"], + HARDEN_CFLAGS="-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security" + [ AC_MSG_CHECKING([compiler supports harden flags]) + save_harden_cflags="$CFLAGS" + CFLAGS="$CFLAGS $HARDEN_CFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,,)], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]); HARDEN_CFLAGS=''] + ) + CFLAGS="$save_harden_cflags"], + [HARDEN_CFLAGS=""]) +AC_SUBST([HARDEN_CFLAGS]) + +dnl Check for language stuff +AM_GNU_GETTEXT_VERSION([0.16.1]) +AM_GNU_GETTEXT([external]) + +dnl Must be after the gettext stuff as it sets build_cpu +AC_CHECK_MEMBERS([struct user_regs_struct.orig_eax, + struct user_regs_struct.eax, + struct user_regs_struct.ebx, + struct user_regs_struct.ecx, + struct user_regs_struct.edx, + struct user_regs_struct.orig_rax, + struct user_regs_struct.rax, + struct user_regs_struct.rdi, + struct user_regs_struct.rsi, + struct user_regs_struct.rdx], [],[], + [#include + #include ]) +AC_CHECK_MEMBERS([struct pt_regs.orig_gpr3, + struct pt_regs.gpr], [],[], [#include ]) +AC_CHECK_MEMBERS([struct pt_regs.uregs],[],[], [#include ]) +AC_CHECK_MEMBERS([struct pt_regs.regs, + struct pt_regs.cp0_status],[],[], [#include ]) + +case ${target_os} in + gnu*) + want_fuser=no + ;; + *) + want_fuser=yes + ;; +esac +AM_CONDITIONAL(WANT_FUSER, test $want_fuser = yes) + +AM_CONDITIONAL(WANT_PEEKFD_I386, + test $ac_cv_member_struct_user_regs_struct_orig_eax = yes && + test $ac_cv_member_struct_user_regs_struct_eax = yes && + test $ac_cv_member_struct_user_regs_struct_ebx = yes && + test $ac_cv_member_struct_user_regs_struct_ecx = yes && + test $ac_cv_member_struct_user_regs_struct_edx = yes ) +AM_CONDITIONAL(WANT_PEEKFD_X86_64, + test $ac_cv_member_struct_user_regs_struct_orig_rax = yes && + test $ac_cv_member_struct_user_regs_struct_rax = yes && + test $ac_cv_member_struct_user_regs_struct_rdi = yes && + test $ac_cv_member_struct_user_regs_struct_rsi = yes && + test $ac_cv_member_struct_user_regs_struct_rdx = yes ) +AM_CONDITIONAL(WANT_PEEKFD_PPC, + test $ac_cv_member_struct_pt_regs_orig_gpr3 = yes && + test $ac_cv_member_struct_pt_regs_gpr = yes ) +AM_CONDITIONAL(WANT_PEEKFD_ARM, + test $ac_cv_member_struct_pt_regs_uregs = yes) +AM_CONDITIONAL(WANT_PEEKFD_MIPS, + test $build_cpu = mipsel && + test $ac_cv_member_struct_pt_regs_regs = yes && + test $ac_cv_member_struct_pt_regs_cp0_status = yes) + +dnl Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_FUNC_GETMNTENT +AC_PROG_GCC_TRADITIONAL +AC_FUNC_LSTAT +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_MEMCMP +AC_FUNC_REALLOC +AC_FUNC_STAT +AC_CHECK_FUNCS([atexit getmntent memset nl_langinfo rawmemchr regcomp rpmatch setlocale socket strcasecmp strchr strdup strerror strpbrk strrchr strtoul]) + +dnl Checks for Large File System +AC_SYS_LARGEFILE + +if test x"$DEJAGNU" = x +then + DEJAGNU="\$(top_srcdir)/testsuite/global-conf.exp" +fi +AC_SUBST(DEJAGNU) + +AC_CONFIG_FILES([Makefile + doc/Makefile + src/Makefile + icons/Makefile + po/Makefile.in + testsuite/Makefile]) +AC_OUTPUT diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..541637f --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,11 @@ + +man_MANS = killall.1 peekfd.1 prtstat.1 pstree.1 +EXTRA_MANS = + +if WANT_FUSER + man_MANS += fuser.1 +else + EXTRA_MANS += fuser.1 +endif + +EXTRA_DIST = $(man_MANS) $(EXTRA_MANS) diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..35224c5 --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,480 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +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@ +target_triplet = @target@ +@WANT_FUSER_TRUE@am__append_1 = fuser.1 +@WANT_FUSER_FALSE@am__append_2 = fuser.1 +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +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/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ +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@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +SELINUX_LIB = @SELINUX_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TERMCAP_LIB = @TERMCAP_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_IPV6 = @WITH_IPV6@ +WITH_SELINUX = @WITH_SELINUX@ +WITH_TIMEOUT_STAT = @WITH_TIMEOUT_STAT@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +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@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +man_MANS = killall.1 peekfd.1 prtstat.1 pstree.1 $(am__append_1) +EXTRA_MANS = $(am__append_2) +EXTRA_DIST = $(man_MANS) $(EXTRA_MANS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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) --gnu doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: 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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-man1: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + @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 $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; 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 mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic 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-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-man uninstall-man1 + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/fuser.1 b/doc/fuser.1 new file mode 100644 index 0000000..e7f0d92 --- /dev/null +++ b/doc/fuser.1 @@ -0,0 +1,283 @@ +.\" +.\" Copyright 1993-2005 Werner Almesberger +.\" 2005-2012 Craig Small +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.TH FUSER 1 "2012-07-28" "psmisc" "User Commands" +.SH NAME +fuser \- identify processes using files or sockets +.SH SYNOPSIS +.ad l +.B fuser +.RB [ \-fuv ] +.RB [ \-a | \-s ] +.RB [ \-4 | \-6 ] +.RB [ \-c | \-m | \-n +.IR space ] +.RB [ \ \-k +.RB [ \-i ] +.RB [ \-M ] +.RB [ \-w ] +.RB [ \- \fISIGNAL\fR] +] +.IR name " ..." +.br +.B fuser +.RB \-l +.br +.B fuser +.RB \-V +.ad b +.SH DESCRIPTION +.B fuser +displays the PIDs of processes using the specified files or file +systems. In the default display mode, each file name is followed by a +letter denoting the type of access: +.PP +.RS +.PD 0 +.TP +.B c +current directory. +.TP +.B e +executable being run. +.TP +.B f +open file. +.B f +is omitted in default display mode. +.TP +.B F +open file for writing. +.B F +is omitted in default display mode. +.TP +.B r +root directory. +.TP +.B m +mmap'ed file or shared library. +.PD +.RE +.LP +.B fuser +returns a non-zero return code if none of the specified files is +accessed or in case of a fatal error. If at least one access has been +found, +.B fuser +returns zero. +.PP +In order to look up processes using TCP and UDP sockets, the +corresponding name space has to be selected with the +.B \-n +option. By default +.B fuser +will look in both IPv6 and IPv4 sockets. To change the default, +behavior, use the +.B \-4 +and +.B \-6 +options. The socket(s) can be specified by the local and remote port, +and the remote address. All fields are optional, but commas in front +of missing fields must be present: +.PP +\fB[\fR\fIlcl_port\fR\fB][\fR,\fB[\fR\fIrmt_host\fR\fB][\fR,\fB[\fIrmt_port\fR\fB]]] +.PP +Either symbolic or numeric values can be used for IP addresses and port +numbers. +.PP +.B fuser +outputs only the PIDs to stdout, everything else is sent to stderr. +.SH OPTIONS +.TP +\fB\-a\fR, \fB\-\-all\fR +Show all files specified on the command line. By default, only files +that are accessed by at least one process are shown. +.TP +\fB\-c\fR +Same as \-m option, used for POSIX compatibility. +.TP +\fB\-f\fR +Silently ignored, used for POSIX compatibility. +.TP +\fB\-k\fR, \fB\-\-kill\fR +Kill processes accessing the file. Unless changed with +\fB\-\fR\fISIGNAL\fR, SIGKILL is sent. An +.B fuser +process never kills itself, but may kill other +.B fuser +processes. The effective user ID of the process executing +.B fuser +is set to its real user ID before attempting to kill. +.TP +\fB\-i\fR, \fB\-\-interactive\fR +Ask the user for confirmation before killing a process. This option is +silently ignored if +.B \-k +is not present too. +.TP +\fB\-l\fR, \fB\-\-list\-signals\fR +List all known signal names. +.TP +\fB\-m\fR \fINAME\fR, \fB\-\-mount\fR \fINAME\fR +.I NAME +specifies a file on a mounted file system or a block device that is +mounted. All processes accessing files on that file system are listed. +If a directory file is specified, it is automatically changed to +.IR NAME /. +to use any file system that might be mounted on that directory. +.TP +\fB\-M\f, \fB\-\-ismountpoint\fR +Request will be fulfilled only if +.I NAME +specifies a mountpoint. This is an invaluable seatbelt which prevents +you from killing the machine if +.I NAME +happens to not be a filesystem. +.TP +\fB\-w\fP +Kill only processes which have write access. This option is silently +ignored if +.B \-k +is not present too. +.TP +\fB\-n \fISPACE\fR, \fB\-\-namespace\fR \fISPACE\fR +Select a different name space. The name spaces +.B file +(file names, the default), +.B udp +(local UDP ports), and +.B tcp +(local TCP ports) are supported. For ports, either the port number or +the symbolic name can be specified. If there is no ambiguity, the +shortcut notation \fIname\fB/\fIspace\fR (e.g. \fI80\fB/\fItcp\fR) +can be used. +.TP +\fB\-s\fR, \fB\-\-silent\fR +Silent operation. +.B \-u +and +.B \-v +are ignored in this mode. +.B \-a +must not be used with +.BR \-s . +.TP +\fB\-\fISIGNAL\fR +Use the specified signal instead of SIGKILL when killing processes. +Signals can be specified either by name (e.g. +.BR \-HUP ) or by +number (e.g. +.BR \-1 ). +This option is silently ignored if the +.B \-k +option is not used. +.TP +\fB\-u\fR, \fB\-\-user\fR +Append the user name of the process owner to each PID. +.TP +\fB\-v\fR, \fB\-\-verbose\fR + +Verbose mode. Processes are shown in a +.BR ps -like +style. The fields PID, USER and COMMAND are similar to +.BR ps . +ACCESS shows how the process accesses the file. Verbose mode will also +show when a particular file is being access as a mount point, knfs +export or swap file. In this case +.B kernel +is shown instead of the PID. +.TP +\fB\-V\fR, \fB\-\-version\fR +Display version information. +.TP +\fB\-4\fR, \fB\-\-ipv4\fR +Search only for IPv4 sockets. This option must not be used with the +.B \-6 +option and only has an effect with the tcp and udp namespaces. +.TP +\fB\-6\fR, \fB\-\-ipv6\fR +Search only for IPv6 sockets. This option must not be used with the +.B \-4 +option and only has an effect with the tcp and udp namespaces. +.IP \fB\-\fR +Reset all options and set the signal back to SIGKILL. +.SH FILES +.TP +/proc +location of the proc file system +.SH EXAMPLES +.TP +.B fuser \-km /home +kills all processes accessing the file system /home in any way. +.TP +\fBif fuser \-s /dev/ttyS1; then :; else \fIsomething\fB; fi\fR +invokes +.I something +if no other process is using /dev/ttyS1. +.TP +.B fuser telnet/tcp +shows all processes at the (local) TELNET port. +.SH RESTRICTIONS +Processes accessing the same file or file system several times in the +same way are only shown once. +.PP +If the same object is specified several times on the command line, some +of those entries may be ignored. +.PP +.B fuser +may only be able to gather partial information unless run with +privileges. As a consequence, files opened by processes belonging to +other users may not be listed and executables may be classified as +mapped only. +.PP +Installing +.B fuser +SUID root will avoid problems associated with partial information, but +may be undesirable for security and privacy reasons. +.PP +.B udp +and +.B tcp +name spaces, and UNIX domain sockets can't be searched with kernels +older than 1.3.78. +.PP +Accesses by the kernel are only shown with the +.B \-v +option. +.PP +The +.B \-k +option only works on processes. If the user is the kernel, +.B fuser +will print an advice, but take no action beyond that. +.SH BUGS +.PP +fuser \-m /dev/sgX will show (or kill with the \-k flag) all processes, +even if you don't have that device configured. There may be other +devices it does this for too. +.PP +.B fuser +cannot report on any processes that it doesn't have permission to look +at the file descriptor table for. The most common time this problem +occurs is when looking for TCP or UDP sockets when running +.B fuser +as a non-root user. In this case +.B fuser +will report no access +.PP +The mount \-m option will match any file within the save device as the +specified file, use the \-M option as well if you mean to specify only +the mount point. +.SH "SEE ALSO" +.BR kill (1), +.BR killall (1), +.BR lsof (8), +.BR pkill (1), +.BR ps (1), +.BR kill (2). +.\{{{}}} diff --git a/doc/killall.1 b/doc/killall.1 new file mode 100644 index 0000000..00065e2 --- /dev/null +++ b/doc/killall.1 @@ -0,0 +1,172 @@ +.\" +.\" Copyright 1993-2002 Werner Almesberger +.\" 2002-2012 Craig Small +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.TH KILLALL 1 "2012-7-28" "psmisc" "User Commands" +.SH NAME +killall \- kill processes by name +.SH SYNOPSIS +.ad l +.B killall +.RB [ \-Z , \ \-\-context +.IR pattern ] +.RB [ \-e , \ \-\-exact ] +.RB [ \-g , \ \-\-process\-group ] +.RB [ \-i , \ \-\-interactive ] +.RB [ \-o , \ \-\-older\-than +.IR TIME ] +.RB [ \-q , \ \-\-quiet ] +.RB [ \-r , \ \-\-regexp ] +.RB [ \-s , \ \-\-signal +.IR signal ] +.RB [ \-u , \ \-\-user +.IR user ] +.RB [ \-v , \ \-\-verbose ] +.RB [ \-w , \ \-\-wait ] +.RB [ \-y , \ \-\-younger\-than +.IR TIME ] +.RB [ \-I , \ \-\-ignore-case ] +.RB [ \-V, \ \-\-version ] +.RB [ \-\- ] +.I name ... +.br +.B killall +.RB \-l +.br +.B killall +.RB \-V, \ \-\-version +.ad b +.SH DESCRIPTION +.B killall +sends a signal to all processes running any of the specified commands. +If no signal name is specified, SIGTERM is sent. +.PP +Signals can be specified either by name (e.g. +.B \-HUP +or +.BR -SIGHUP ) +or by number (e.g. +.BR \-1 ) +or by option +.BR -s . +.PP +If the command name is not regular expression (option +.BR -r ) +and contains a slash +.RB ( / ), +processes executing that particular file will be selected for killing, +independent of their name. +.PP +.B killall +returns a zero return code if at least one process has been killed for +each listed command, or no commands were listed and at least one +process matched the -u and -Z search criteria. +.B killall +returns non-zero otherwise. +.PP +A +.B killall +process never kills itself (but may kill other +.B killall +processes). +.SH OPTIONS +.IP "\fB\-e\fP, \fB\-\-exact\fP" +Require an exact match for very long names. If a command name is +longer than 15 characters, the full name may be unavailable (i.e. it +is swapped out). In this case, +.B killall +will kill everything that matches within the first 15 characters. With +.BR \-e , +such entries are skipped. +.B killall +prints a message for each skipped entry +if +.B \-v +is specified in addition to +.BR \-e , +.IP "\fB\-I\fP, \fB\-\-ignore\-case\fP" +Do case insensitive process name match. +.IP "\fB\-g\fP, \fB\-\-process\-group\fP" +Kill the process group to which the process belongs. The kill signal +is only sent once per group, even if multiple processes belonging to +the same process group were found. +.IP "\fB\-i\fP, \fB\-\-interactive\fP" +Interactively ask for confirmation before killing. +.IP "\fB\-l\fP, \fB\-\-list\fP" +List all known signal names. +.IP "\fB\-o\fP, \fB\-\-older\-than\fP" +Match only processes that are older (started before) the time +specified. The time is specified as a float then a unit. The units +are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and +years respectively. +.IP "\fB\-q\fP, \fB\-\-quiet\fP" +Do not complain if no processes were killed. +.IP "\fB\-r\fP, \fB\-\-regexp\fP" +Interpret process name pattern as an extended regular expression. +.IP "\fB\-s\fP, \fB\-\-signal\fP" +Send this signal instead of SIGTERM. +.IP "\fB\-u\fP, \fB\-\-user\fP" +Kill only processes the specified user owns. Command names are +optional. +.IP "\fB\-v\fP, \fB\-\-verbose\fP" +Report if the signal was successfully sent. +.IP "\fB\-V\fP, \fB\-\-version\fP" +Display version information. +.IP "\fB\-w\fP, \fB\-\-wait\fP" +Wait for all killed processes to die. +.B killall +checks once per second if any of the killed processes still exist and +only returns if none are left. Note that +.B killall +may wait forever if the signal was ignored, had no effect, or if the +process stays in zombie state. +.IP "\fB\-y\fP, \fB\-\-younger\-than\fP" +Match only processes that are younger (started after) the time +specified. The time is specified as a float then a unit. The units +are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and +years respectively. +.IP "\fB\-Z\fP, \fB\-\-context\fP" +(SELinux Only) Specify security context: kill only processes having +security context that match with given expended regular expression +pattern. Must precede other arguments on the command line. Command +names are optional. +.SH FILES +.TP +/proc +location of the proc file system +.SH "KNOWN BUGS" +Killing by file only works for executables that are kept open during +execution, i.e. impure executables can't be killed this way. +.PP +Be warned that typing +.B killall +.I name +may not have the desired effect on non-Linux systems, especially when +done by a privileged user. +.PP +.B killall \-w +doesn't detect if a process disappears and is replaced by a new process +with the same PID between scans. +.PP +If processes change their name, +.B killall +may not be able to match them correctly. +.PP +.B killall +has a limit of names that can be specified on the command line. This +figure is the size of an unsigned long multiplied by 8. For most 32 +bit systems the limit is 32 and similarly for a 64 bit system the limit +is usually 64. +.SH "SEE ALSO" +.BR kill (1), +.BR fuser (1), +.BR pgrep (1), +.BR pidof (1), +.BR pkill (1), +.BR ps (1), +.BR kill (2). +.\{{{}}} diff --git a/doc/peekfd.1 b/doc/peekfd.1 new file mode 100644 index 0000000..a1dbddf --- /dev/null +++ b/doc/peekfd.1 @@ -0,0 +1,65 @@ +.\" +.\" Copyright 2007 Trent Waddington +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.TH PEEKFD 1 "2012-07-28" "psmisc" "User Commands" +.SH NAME +peekfd \- peek at file descriptors of running processes +.SH SYNOPSIS +.B peekfd +.RB [ \-8 , \-\-eight\-bit\-clean ] +.RB [ \-n , \-\-no\-headers ] +.RB [ \-f , \-\-follow ] +.RB [ \-d , \-\-duplicates\-removed ] +.RB [ \-V , \-\-version ] +.RB [ \-h , \-\-help ] +.I pid +.RI [ fd ] +.RI [ fd ] +.B ... +.SH DESCRIPTION +.B peekfd +attaches to a running process and intercepts all reads and writes to +file descriptors. You can specify the desired file descriptor numbers +or dump all of them. +.SH OPTIONS +.IP -8 +Do no post-processing on the bytes being read or written. +.IP -n +Do not display headers indicating the source of the bytes dumped. +.IP -c +Also dump the requested file descriptor activity in any new child +processes that are created. +.IP -d +Remove duplicate read/writes from the output. If you're looking at a +tty with echo, you might want this. +.IP -v +Display a version string. +.IP -h +Display a help message. +.SH FILES +.I /proc/*/fd +.RS +Not used but useful for the user to look at to get good file descriptor +numbers. +.SH ENVIRONMENT +None. +.SH DIAGNOSTICS +The following diagnostics may be issued on stderr: +.TP +.B Error attaching to pid ... +An unknown error occurred while attempted to attach to a process.. you +may need to be root. +.SH BUGS +Probably lots. Don't be surprised if the process you are monitoring +dies. +.SH AUTHOR +.MT trent.waddington@gmail.com +Trent Waddington +.ME +.SH "SEE ALSO" +.BR ttysnoop (8) diff --git a/doc/prtstat.1 b/doc/prtstat.1 new file mode 100644 index 0000000..4752bf8 --- /dev/null +++ b/doc/prtstat.1 @@ -0,0 +1,48 @@ +.\" +.\" Copyright 2009-2012 Craig Small +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.TH PRTSTAT 1 "2012-07-28" "psmisc" "User Commands" +.SH NAME +prtstat \- print statistics of a process +.SH SYNOPSIS +.ad l +.B prtstat +.RB [ \-r | \-\-raw ] +.I pid +.br +.B prtstat +.RB \-V | \-\-version +.ad b +.SH DESCRIPTION +.B prtstat +prints the statistics of the specified process. This information comes +from the +.I /proc/PID/stat +file. +.SH OPTIONS +.TP +.BR \-r , \ \-\-raw +Print the information in raw format. +.TP +.BR \-V , \ \-\-version +Show the version information for +.BR prtstat . +.SH OPTIONS +.TP +.BR \-r , \ \-\-raw +Print the information in raw format. +.TP +.BR \-V , \ \-\-version +Show the version information for +.BR prtstat . +.SH FILES +.TP +/proc//stat +source of the information +.B prtstat +uses diff --git a/doc/pstree.1 b/doc/pstree.1 new file mode 100644 index 0000000..fea80b6 --- /dev/null +++ b/doc/pstree.1 @@ -0,0 +1,155 @@ +.\" +.\" Copyright 1993-2002 Werner Almesberger +.\" 2002-2012 Craig Small +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.TH PSTREE 1 "2012-07-28" "psmisc" "User Commands" +.SH NAME +pstree \- display a tree of processes +.SH SYNOPSIS +.ad l +.B pstree +.RB [ \-a , \ \-\-arguments ] +.RB [ \-c , \ \-\-compact ] +.RB [ \-h , \ \-\-highlight\-all , \ \-H \fIpid\fB , \ \-\-highlight\-pid\ \fIpid\fB ] +.RB [ \-g ] \ \-\-show\-pgids ] +.RB [ \-l , \ \-\-long ] +.RB [ \-n , \ \-\-numeric\-sort ] +.RB [ \-p , \ \-\-show\-pids ] +.RB [ \-s , \ \-\-show\-parents ] +.RB [ \-u , \ \-\-uid\-changes ] +.RB [ \-Z , \ \-\-security\-context ] +.RB [ \-A , \ \-\-ascii , \ \-G , \ \-\-vt100 , \ \-U , \ \-\-unicode ] +.RB [ \fIpid\fB , \ \fIuser\fB] +.br +.B pstree +.RB \-V , \ \-\-version +.ad b +.SH DESCRIPTION +.B pstree +shows running processes as a tree. The tree is rooted at either +.I pid +or +.B init +if +.I pid +is omitted. If a user name is specified, all process trees rooted at +processes owned by that user are shown. +.PP +.B pstree +visually merges identical branches by putting them in square brackets +and prefixing them with the repetition count, e.g. +.nf +.sp + init\-+\-getty + |\-getty + |\-getty + `\-getty +.sp +.fi +becomes +.nf +.sp + init\-\-\-4*[getty] +.sp +.fi +.PP +.PP +Child threads of a process are found under the parent process and are +shown with the process name in curly braces, e.g. +.nf +.sp + icecast2\-\-\-13*[{icecast2}] +.sp +.fi +.PP +If +.B pstree +is called as +.B pstree.x11 +then it will prompt the user at the end of the line to press return and +will not return until that has happened. This is useful for when +.B pstree +is run in a xterminal. +.PP +Certain kernel or mount parameters, such as the hidepid option for procfs, +will hide information for some processes. In these situations +.B pstree +will attempt to build the tree without this information, showing process +names as question marks. + +.SH OPTIONS +.IP \fB\-a\fP +Show command line arguments. If the command line of a process is +swapped out, that process is shown in parentheses. +.B \-a +implicitly disables compaction for processes but not threads. +.IP \fB\-A\fP +Use ASCII characters to draw the tree. +.IP \fB\-c\fP +Disable compaction of identical subtrees. By default, subtrees are +compacted whenever possible. +.IP \fB\-G\fP +Use VT100 line drawing characters. +.IP \fB\-h\fP +Highlight the current process and its ancestors. This is a no-op if +the terminal doesn't support highlighting or if neither the current +process nor any of its ancestors are in the subtree being shown. +.IP \fB\-H\fP +Like +.BR \-h , +but highlight the specified process instead. Unlike with +.BR \-h , +.B pstree +fails when using +.B \-H +if highlighting is not +available. +.IP \fB\-g\fP +Show PGIDs. Process Group IDs are shown as decimal numbers in +parentheses after each process name. +.B \-p +implicitly disables compaction. If both PIDs and PGIDs are displayed +then PIDs are shown first. +.IP \fB\-l\fP +Display long lines. By default, lines are truncated to the display +width or 132 if output is sent to a non-tty or if the display width is +unknown. +.IP \fB\-n\fP +Sort processes with the same ancestor by PID instead of by name. +(Numeric sort.) +.IP \fB\-p\fP +Show PIDs. PIDs are shown as decimal numbers in parentheses after each +process name. +.B \-p +implicitly disables compaction. +.IP \fB\-s\fP +Show parent processes of the specified process. +.IP \fB\-u\fP +Show uid transitions. Whenever the uid of a process differs from the +uid of its parent, the new uid is shown in parentheses after the +process name. +.IP \fB\-U\fP +Use UTF-8 (Unicode) line drawing characters. Under Linux 1.1-54 and +above, UTF-8 mode is entered on the console with +.B echo \-e '\\033%8' +and left with +.B echo \-e '\\033%@' +.IP \fB\-V\fP +Display version information. +.IP \fB\-Z\fP +(SELinux) Show security context for each process. This flag will only +work if pstree is compilied with SELinux support. +.SH FILES +.TP +/proc +location of the proc file system +.SH BUGS +Some character sets may be incompatible with the VT100 characters. +.SH "SEE ALSO" +.BR ps (1), +.BR top (1). +.\"{{{}}} diff --git a/icons/Makefile.am b/icons/Makefile.am new file mode 100644 index 0000000..b131f56 --- /dev/null +++ b/icons/Makefile.am @@ -0,0 +1,2 @@ + +EXTRA_DIST = psmisc16.gif psmisc32.gif pstree16.xpm pstree32.xpm diff --git a/icons/Makefile.in b/icons/Makefile.in new file mode 100644 index 0000000..6999f91 --- /dev/null +++ b/icons/Makefile.in @@ -0,0 +1,383 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +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@ +target_triplet = @target@ +subdir = icons +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +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/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ +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@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +SELINUX_LIB = @SELINUX_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TERMCAP_LIB = @TERMCAP_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_IPV6 = @WITH_IPV6@ +WITH_SELINUX = @WITH_SELINUX@ +WITH_TIMEOUT_STAT = @WITH_TIMEOUT_STAT@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +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@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = psmisc16.gif psmisc32.gif pstree16.xpm pstree32.xpm +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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) --gnu icons/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu icons/Makefile +.PRECIOUS: 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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +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 +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + 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 mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +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 -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic 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-generic pdf pdf-am ps ps-am uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/icons/psmisc16.gif b/icons/psmisc16.gif new file mode 100644 index 0000000..2143306 Binary files /dev/null and b/icons/psmisc16.gif differ diff --git a/icons/psmisc32.gif b/icons/psmisc32.gif new file mode 100644 index 0000000..567041d Binary files /dev/null and b/icons/psmisc32.gif differ diff --git a/icons/pstree16.xpm b/icons/pstree16.xpm new file mode 100644 index 0000000..4f7e412 --- /dev/null +++ b/icons/pstree16.xpm @@ -0,0 +1,50 @@ +/* XPM */ +static char * icon_16x16_xpm[] = { +"16 16 31 1", +" c None", +". c #4E1C0D", +"+ c #A1CDA4", +"@ c #73F91C", +"# c #D4880C", +"$ c #8D320A", +"% c #DE8F69", +"& c #67FC03", +"* c #AA6D53", +"= c #99F56C", +"- c #AA9177", +"; c #AA4509", +"> c #6CF10A", +", c #CB7502", +"' c #3B7529", +") c #D06938", +"! c #A5610F", +"~ c #86D83B", +"{ c #CC8346", +"] c #B97428", +"^ c #864909", +"/ c #7FF432", +"( c #C65707", +"_ c #709081", +": c #BD300E", +"< c #68FC04", +"[ c #A44C36", +"} c #757408", +"| c #60E804", +"1 c #927136", +"2 c #6D473C", +" ", +" ", +" ,,, _ ", +" ,#%{,): ", +" ###,]!({ ", +" %#{#,*;(:) ", +" ##{]][^]$$; ", +" ,,{]#{());$:$1 ", +" {,*:!^22:^%)$- ", +" {)$-)^;:!$2.%1 ", +" !(2._[!$$.*((+ ", +" {[*1}$..$!- ", +" ^. ", +" .' ", +" _'.'' ", +" "}; diff --git a/icons/pstree32.xpm b/icons/pstree32.xpm new file mode 100644 index 0000000..ed79a82 --- /dev/null +++ b/icons/pstree32.xpm @@ -0,0 +1,66 @@ +/* XPM */ +static char * icon_32x32_xpm[] = { +"32 32 31 1", +" c None", +". c #4E1C0D", +"+ c #A1CDA4", +"@ c #73F91C", +"# c #D4880C", +"$ c #8D320A", +"% c #DE8F69", +"& c #67FC03", +"* c #AA6D53", +"= c #99F56C", +"- c #AA9177", +"; c #AA4509", +"> c #6CF10A", +", c #CB7502", +"' c #3B7529", +") c #D06938", +"! c #A5610F", +"~ c #86D83B", +"{ c #CC8346", +"] c #B97428", +"^ c #864909", +"/ c #7FF432", +"( c #C65707", +"_ c #709081", +": c #BD300E", +"< c #68FC04", +"[ c #A44C36", +"} c #757408", +"| c #60E804", +"1 c #927136", +"2 c #6D473C", +" ", +" ", +" ", +" ", +" ! - - ", +" ,(,,,) _ ", +" ],{#{,,,) ]:1 ", +" ,###%{{#,()(:: ", +" ###{###],,,(($1 ", +" ######,]]]!](;{ 1 ", +" %%##{{#,(;)*;;([[:_ ", +" %%%##{###,)*;;;(;::)- ", +" %%###%){,)))$^!);;:$;: ", +" %####{{]{]*[$^*];$$$;;$ ", +" -]%)####,,!!!{1!]];:;^;;$:{ ", +" -,,,({]]]##{,()){);;;$$:;$;1 ", +" +{,,,!,]*]!!]])(;;;)$22:*^[+ ", +" {,,!**:$!1^.2-2[:!^[%{):$[- ", +" {))$*--[[1.$.[;!;^$[[$$.[$1 ", +" {%)[$1-))[^[;;:;!:$22..*%11 ", +" {#)[{-;$22$!$;(;;;$[_22[::-+ ", +" #!(((2$.__.[$!!$$$$.$*)(:({+ ", +" }^*;$![.[!$!$$2...$::(;^}}1 ", +" #{_[[*21#}$$....^$$!2- ", +" },:11} }2..2+ __ _ ", +" ^.. ", +" }^^} ", +" '..' ", +" '.'''' ", +" _ ''.''''' + ", +" +++___''''_+++_+++ ", +" "}; diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..91c345e --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,419 @@ +# gettext.m4 serial 59 (gettext-0.16.1) +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 , 1995-2000. +dnl Bruno Haible , 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 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 +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_TRY_LINK([#include +$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 +$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 +$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 ], + [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 ], [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 0000000..654c415 --- /dev/null +++ b/m4/iconv.m4 @@ -0,0 +1,101 @@ +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 0000000..96c4e2c --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 0000000..f95b7ba --- /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 0000000..a8684e1 --- /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/nls.m4 b/m4/nls.m4 new file mode 100644 index 0000000..7967cc2 --- /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 , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) diff --git a/m4/po.m4 b/m4/po.m4 new file mode 100644 index 0000000..00133ef --- /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 , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_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 < "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ(2.50) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) diff --git a/packaging/psmisc.manifest b/packaging/psmisc.manifest new file mode 100644 index 0000000..ede5999 --- /dev/null +++ b/packaging/psmisc.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packaging/psmisc.spec b/packaging/psmisc.spec new file mode 100644 index 0000000..7667459 --- /dev/null +++ b/packaging/psmisc.spec @@ -0,0 +1,72 @@ +Name: psmisc +Version: 22.20 +Release: 2 +License: GPLv2+ +Summary: Utilities for managing processes on your system +Group: Applications/System +URL: http://sourceforge.net/projects/psmisc +Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Source1001: %{name}.manifest + +BuildRequires: gettext +BuildRequires: ncurses-devel +BuildRequires: autoconf automake + +#The following has been reworked by upstream in a different way ... we'll see +#Patch1: psmisc-22.13-fuser-silent.patch + +# Patch sent upstream 2012-10-08. + +%description +The psmisc package contains utilities for managing processes on your +system: pstree, killall and fuser. The pstree command displays a tree +structure of all of the running processes on your system. The killall +command sends a specified signal (SIGTERM if nothing is specified) to +processes identified by name. The fuser command identifies the PIDs +of processes that are using specified files or filesystems. + +%prep +%setup -q + +%build +cp %{SOURCE1001} . +%configure \ + --prefix=%{_prefix} \ + --disable-nls +make %{?_smp_mflags} + +%install +make install DESTDIR="$RPM_BUILD_ROOT" + +mkdir -p $RPM_BUILD_ROOT/sbin +mv $RPM_BUILD_ROOT%{_bindir}/fuser $RPM_BUILD_ROOT/sbin + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/license +for keyword in LICENSE COPYING COPYRIGHT; +do + for file in `find %{_builddir} -name $keyword`; + do + cat $file >> $RPM_BUILD_ROOT%{_datadir}/license/%{name}; + echo ""; + done; +done + +%files +%manifest %{name}.manifest +%{_datadir}/license/%{name} +/sbin/fuser +%{_bindir}/killall +%{_bindir}/pstree +%{_bindir}/pstree.x11 +%{_bindir}/prtstat +%{_mandir}/man1/fuser.1* +%{_mandir}/man1/killall.1* +%{_mandir}/man1/pstree.1* +%{_mandir}/man1/prtstat.1* +%ifarch %{ix86} x86_64 ppc ppc64 %{arm} mipsel +%{_bindir}/peekfd +%endif +%{_mandir}/man1/peekfd.1* +%doc AUTHORS ChangeLog COPYING README + +%changelog diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..215f1e7 --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,53 @@ +2007-03-02 gettextize + + * Makefile.in.in: Upgrade to gettext-0.16.1. + +2004-04-30 gettextize + + * Makefile.in.in: New file, from gettext-0.14.1. + * Makevars: New file, from gettext-0.14.1. + * Rules-quot: New file, from gettext-0.14.1. + * boldquot.sed: New file, from gettext-0.14.1. + * en@boldquot.header: New file, from gettext-0.14.1. + * en@quot.header: New file, from gettext-0.14.1. + * insert-header.sin: New file, from gettext-0.14.1. + * quot.sed: New file, from gettext-0.14.1. + * remove-potcdate.sin: New file, from gettext-0.14.1. + +2004-04-05 gettextize + + * Makefile.in.in: Upgrade to gettext-0.14.1. + * Makevars: Upgrade to gettext-0.14.1. + * Rules-quot: Upgrade to gettext-0.14.1. + +2003-11-28 gettextize + + * Makefile.in.in: Upgrade to gettext-0.12.1. + +2002-08-16 gettextize + + * Makefile.in.in: New file, from gettext-0.11.5. + * Rules-quot: New file, from gettext-0.11.5. + * boldquot.sed: New file, from gettext-0.11.5. + * en@boldquot.header: New file, from gettext-0.11.5. + * en@quot.header: New file, from gettext-0.11.5. + * insert-header.sin: New file, from gettext-0.11.5. + * quot.sed: New file, from gettext-0.11.5. + * remove-potcdate.sin: New file, from gettext-0.11.5. + +2001-06-13 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.36. + +2001-06-13 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.36. + +2001-06-13 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.36. + +2001-06-13 gettextize + + * Makefile.in.in: Upgrade to gettext-0.10.36. + diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..c33047a --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,2 @@ +# Enabled languages +bg ca cs da de el eo eu fi fr hr hu id it ja nb nl pl pt pt_BR ro ru sr sv uk vi zh_CN zh_TW diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..5022b8b --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,403 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU General Public +# License but which still want to provide support for the GNU gettext +# functionality. +# Please note that the actual code of GNU gettext is covered by the GNU +# General Public License and is *not* in the public domain. +# +# Origin: gettext-0.16 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + $(MAKE) update-po + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && $(SHELL) ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..5562d8c --- /dev/null +++ b/po/Makevars @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = csmall@small.dropbear.id.au + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..bec4ab5 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,7 @@ +src/fuser.c +src/killall.c +src/peekfd.c +src/killall.c +src/prtstat.c +src/pstree.c +src/signals.c diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 0000000..9c2a995 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,47 @@ +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/bg.gmo b/po/bg.gmo new file mode 100644 index 0000000..4dcdc46 Binary files /dev/null and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..69b1922 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,663 @@ +# Message catalog for psmisc +# Copyright © 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Anton Zinoviev , 2006 +# +# This file should be sent to translation@iro.umontreal.ca with the +# following subject line: TP-Robot psmisc-22.2pre1.bg.po +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.2pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2006-03-07 11:49+0200\n" +"Last-Translator: Anton Zinoviev \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Използване: fuser [ -a | -s | -c ] [ -n ВИДИМЕ ] [ -СИГНАЛ ] [ -kimuv ] " +"ИМЕ...\n" +" [ - ] [ -n ВИДИМЕ ] [ -СИГНАЛ ] [ -kimuv ] ИМЕ...\n" +" fuser -l\n" +" fuser -V\n" +"Показва кои процеси използват посочените файлове, гнезда или файлови " +"системи.\n" +"\n" +" -a извежда също и неизползваните файлове\n" +" -c монтирана файлова система (същото като -m)\n" +" -f игнорира се (за съвместимост с POSIX)\n" +" -i пита преди да убие (без -k се игнорира)\n" +" -k убива процесите, използващи посочения файл\n" +" -l извежда достъпните имена на сигнали\n" +" -m показва всички процеси, използващи зададената файлова система\n" +" -n ВИДИМЕ използва такъв вид имена (може да бъде file, udp или tcp)\n" +" -s „тих режим“ - не съобщава какво се прави\n" +" -СИГНАЛ изпраща този сигнал вместо SIGKILL\n" +" -u извежда собствениците на процесите\n" +" -v подробен изход\n" +" -V извежда информация за версията на fuser\n" +" -4 търси само IPv4-гнезда\n" +" -6 търси само IPv6-гнезда\n" +" - отменя всички опции\n" +"\n" +"Имената от вид udp/tcp са: [локален_порт][,[отдалечен_хост][," +"[отдалечен_порт]]]\n" +"\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2005 Werner Almesberger и Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc се разпространява без АБСОЛЮТНО НИКАКВИ ГАРАНЦИИ.\n" +"Това е свободен софтуер и вие може да го разпространявате свободно съгласно\n" +"условията на Основната общодостъпна лицензия на ГНУ.\n" +"За повече информация относно това, погледнете файловете с име COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Каталогът /proc не може да се отвори: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Не може да се задели памет за съответстващ процес: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Не може да се достигне %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Не може да се определи локалният порт %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Непознат вид адрес на локалния порт %d (unknown local port AF)\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Не може да се отвори файлът за протокол „%s“: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Опцията за вид име изисква аргумент." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Неправилен вид имена" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "При опцията за файлова система може да се посочват само файлове" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Не е зададена спецификация на процес" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "опцията -a не може да се използва едновременно с -q" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Не може да търсите само IPv4-гнезда и в същото време само IPv6-гнезда" + +#: src/fuser.c:1246 +#, fuzzy, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" +"\n" +"%*s ПОТРЕБИТЕЛ Пот№ ДОСТЪП КОМАНДА\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(неизвест)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Файлът %s не може да се достигне: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Не може да се отвори /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Да се убие ли процесът %d? (д/Н) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Процесът %d не може да бъде убит: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Не може да се отвори мрежово гнездо.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Не може да бъде намерен номерът на устройството на гнездото.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Да се убие ли %s(%s%d) ? (д/Н) " + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Да се убие ли %s(%s%d) ? (д/Н) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" +"Въз основа на състоянието на процеса не може да се установи потребителят " +"собственик\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Неправилен регулярен израз: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "пропуска се частичнотото съвпадение %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) се убива със сигнал %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: никой процес не е убит\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Използване: killall [-Z КОНТЕКСТ] [-u ПОТРЕБ] [ -eIgiqrvw ] [ -СИГНАЛ ] " +"ИМЕ...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Използвване: killall [ОПЦИЯ]... [--] ИМЕ...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact изисква точно съвпадение при много дълги имена\n" +" -I,--ignore-case нечувствително към малки/големи букви сравнение с " +"името\n" +" -g,--process-group убива групата на процеса вместо самия процес\n" +" -i,--interactive пита за потвърждение преди да убие\n" +" -l,--list извежда всички познати имена на сигнали\n" +" -q,--quiet да не протестира (например ако никой процес не е " +"убит)\n" +" -r,--regexp използва ИМЕ като разширен регулярен израз\n" +" -s,--signal СИГНАЛ изпраща този сигнал вместо SIGTERM\n" +" -u,--user ПОТРЕБ убива само процес(и), изпълнявани от ПОТРЕБителя\n" +" -v,--verbose съобщава, ако успешно е изпратен сигнал\n" +" -V,--version извежда информация за версията\n" +" -w,--wait чака докато процесът умре\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context РЕГИЗР убива само процес(и) от посочения контекст на " +"сигурност\n" +" (трябва да предхожда останалите аргументи)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2005 Werner Almesberger и Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Не може да бъде намерен потребител с име %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Неправилен регулярен израз: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Максималният брой имена е %d\n" + +# Мисля, че става въпрос за /proc (Антон Зиновиев) +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s е празна (не е монтирана?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2005 Werner Almesberger и Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(неизвест)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +# Мисля, че става въпрос за /proc (Антон Зиновиев) +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s е празна (не е монтирана?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Използване: pstree [ -a ] [ -c ] [ -h | -H ПРОЦЕС ] [ -l ] [ -n ] [ -p ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ ПРОЦЕС | ПОТРЕБ ]\n" +" pstree -V\n" +"Извежда дървото на процесите.\n" +"\n" +" -a извежда аргументите от командните редове\n" +" -A използва само ASCII-знаци за линиите\n" +" -c не свива идентичните поддървета\n" +" -h подчертава текущия процес и предшествениците му\n" +" -H ПРОЦЕС подчертава този процес и предшествениците му\n" +" -G използва псевдографичните знаци на VT100\n" +" -l не отсича дългите редове\n" +" -n сортира изхода според номера на процеса\n" +" -p извежда номерата на процесите; влече -c\n" +" -u посочва промените на собственика\n" +" -U използва псевдографичните знаци на UTF-8 (Уникод)\n" +" -V извежда информация за версията на pstree\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z показва контекста на сигурност за SELinux\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" ПРОЦЕС започва от този номер на процес; по подразбиране от 1 (init)\n" +" ПОТРЕБ показва само поддърветата, основани от този потребител\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2005 Werner Almesberger и Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Не е зададена стойност на TERM\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Не може да се определят възможностите на терминала\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Няма такъв потребител: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Не е намерен нито един процес.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Натиснете Return, за да се завърши\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: непознат сигнал; %s -l извежда познатите сигнали.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Използване: pidof [ -eg ] ИМЕ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e изисква точно съвпадение при много дълги имена;\n" +#~ " пропускане, ако командният ред не е достъпен\n" +#~ " -g показва групата на процеса вместо собственика\n" +#~ " -V извежда информация за версията\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Не може да се достигне мястото на монтиране %s: %s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "Не може да използвате едновременно опциите -m и -c" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Не може да се отвори /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Вътрешна грешка: стойността на MAX_DEPTH не е достатъчно голяма.\n" + +#~ msgid "Cannot open protocol file \"%s\": %s" +#~ msgstr "Не може да се отвори файлът за протокол „%s“: %s" diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 0000000..4b937aa --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/po/ca.gmo b/po/ca.gmo new file mode 100644 index 0000000..e11a404 Binary files /dev/null and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..4a550a8 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,684 @@ +# Catalan translation for psmisc. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Guillem Jover , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 21.6cvs\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2004-12-08 12:46+0100\n" +"Last-Translator: Guillem Jover \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Forma d'ús:\n" +" fuser [ -a | -s | -c ] [ -n espai ] [ -senyal ] [ -kimuv ] nom ...\n" +" [ - ] [ -n espai ] [ -senyal ] [ -kimuv ] nom ...\n" +" fuser -l\n" +" fuser -V\n" +"\n" +" -a mostra també fitxers no usats\n" +" -c sistemes de fitxers muntats\n" +" -f ignorat silenciosament (per compatibilitat amb POSIX)\n" +" -k matar els processos que accedeixen a aquest fitxer\n" +" -i pregunta abans de matar (ignorat sense -k)\n" +" -l llista els noms dels senyals\n" +" -m sistema de fitxers muntat\n" +" -n espai busca en l'espai de noms especificat (file, udp o tcp)\n" +" -s operació silenciosa\n" +" -senyal envia «senyal» en comptes de SIGKILL\n" +" -u mostra ids d'usuari\n" +" -v mode verbal\n" +" -V mostra informació de la versió\n" +" -4 busca només sòcols IPv4\n" +" -6 busca només sòcols IPv6\n" +" - inicialitza opcions\n" +"\n" +" noms udp/tcp: [port_local][,[hoste_remot][,[port_remot]]]\n" +"\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, fuzzy, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc ve ABSOLUTAMENT SENSE CAP GARANTIA.\n" +"Això és software lliure, i esteu convidats a redistribuir-lo sota els " +"termes\n" +"de la llicencia publica general de GNU.\n" +"Per a més informació sobre aquests assumptes, vegeu el fitxer COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "" + +#: src/fuser.c:972 +#, fuzzy, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s/%s: especificació no vàlida\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" + +#: src/fuser.c:1246 +#, fuzzy, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" +"\n" +"%*s USUARI PID ACCÉS ORDRE\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Voleu matar el procés %d? (s/N)" + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "" + +#: src/fuser.c:1671 +#, fuzzy, c-format +msgid "Cannot find socket's device number.\n" +msgstr "no s'ha pogut trobar el nombre de dispositiu del sòcol" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Voleu matar %s(%s%d)? (s/N) " + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Voleu matar %s(%s%d)? (s/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "s'evitarà la coincidència parcial %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "S'ha matat %s(%s%d) amb el senyal %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: no s'ha matat cap procés\n" + +#: src/killall.c:615 +#, fuzzy, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Forma d'ús: killall [-s sid] [-c context] [ -egiqvw ] [ -senyal ] nom ...\n" + +#: src/killall.c:618 +#, fuzzy, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Forma d'ús: killall [ OPCIONS ] [ -- ] nom ...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V --version\n" +"\n" +" -e,--exact requereix coincidència exacta per a noms molt llargs\n" +" -I,--ignore-case coincidència de nom sense sensibilitat a majúscules\n" +" -g,--process-group mata el grup del procés en comptes del procés\n" +" -i,--interactive pregunta abans de matar\n" +" -l,--list llista tots els noms de senyals coneguts\n" +" -q,--quiet no mostra queixes\n" +" -s,--signal envia «senyal» en comptes de «SIGTERM»\n" +" -v,--verbose informa si el senyal s'ha enviat amb èxit\n" +" -V,--version mostra informació de versió\n" +" -w,--wait espera fins que el procés mori\n" +"\n" + +#: src/killall.c:639 +#, fuzzy, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -d,--sid només mata processos que tinguin sid\n" +" -c,--context només mata processos que tinguin scontext\n" +" (-s, -c són mútuament excloents i han de precedir altres arguments)\n" +"\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "El nombre màxim de noms és %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s és buit (no s'ha muntat?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +#, fuzzy +msgid "Invalid option" +msgstr "%s/%s: especificació no vàlida\n" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s és buit (no s'ha muntat?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Forma d'ús: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ pid | usuari ]\n" +" pstree -V\n" +"\n" +" -a mostra els arguments de la línia d'ordres\n" +" -A usa caràcters de dibuix de línia ASCII\n" +" -c no compactar subarbres idèntics\n" +" -h ressaltar el procés actual i els seus ancestres\n" +" -H pid ressaltar el procés «pid» i els seus ancestres\n" +" -G usa caràcters de dibuix de línia VT100\n" +" -l no tallar les línies llargues\n" +" -n ordenar sortida per PID\n" +" -p mostra els PID; implica -c\n" +" -u mostra transicions de uid\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" +" -s mostra els SID de Flask\n" +" -x mostra els contextes de seguretat de Flask\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" -U usar caràcters de dibuix de línia UTF-8 (Unicode)\n" +" -V mostra informació de la versió\n" +" pid comença en pid, predeterminat 1 (init)\n" +" user només mostra arbres amb arrel en processos d'aquest usuari\n" +"\n" + +#: src/pstree.c:859 +#, fuzzy, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM no està especificada\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "No s'han pogut obtenir les capacitats\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "No existeix aquest nom d'usuari: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "No s'han trobat processos.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Premeu retorn per a tancar\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: senyal desconegut. «%s -l» llista els senyals.\n" + +#, fuzzy +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Forma d'ús: pidof [ -eg ] nom ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e requereix coincidència exacta per a noms molt llargs;\n" +#~ " s'eviten si la línia d'ordres no està disponible\n" +#~ " -g mostra l'ID del grup de procés en comptes de l'ID de procés\n" +#~ " -V mostra informació de versió\n" +#~ "\n" + +#, fuzzy +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n" +#~ "\n" + +#, fuzzy +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "MAX_DEPTH no és prou gran.\n" + +#~ msgid "%s: SID (%s) must be numeric\n" +#~ msgstr "%s: el SID (%s) ha de ser numèric\n" + +#~ msgid "-4 flag used but proc file %s is not readable\n" +#~ msgstr "" +#~ "s'ha usat l'argument -4 però el fitxer proc %s no s'ha pogut llegir\n" + +#~ msgid "-6 flag used but proc file %s is not readable\n" +#~ msgstr "" +#~ "s'ha usat l'argument -6 però el fitxer proc %s no s'ha pogut llegir\n" + +#~ msgid "kill %d" +#~ msgstr "mata %d" + +#~ msgid "No automatic removal. Please use umount %s\n" +#~ msgstr "No s'eliminarà automàticament. Si us plau useu «umount %s»\n" + +#~ msgid "No automatic removal. Please use swapoff %s\n" +#~ msgstr "No s'eliminarà automàticament. Si us plau useu «swapoff %s»\n" + +#~ msgid "Internal error (type %d)\n" +#~ msgstr "Error intern (tipus %d)\n" + +#~ msgid "kernel mount " +#~ msgstr "muntatge de nucli " + +#~ msgid "kernel loop " +#~ msgstr "bucle de nucli " + +#~ msgid "kernel swap " +#~ msgstr "intercanvi de nucli " + +#~ msgid "ignoring -m in name space \"%s\"\n" +#~ msgstr "s'està ignorant -m en l'espai de noms «%s»\n" diff --git a/po/cs.gmo b/po/cs.gmo new file mode 100644 index 0000000..22bd015 Binary files /dev/null and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..0ca32b3 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,690 @@ +# Czech translation of psmisc. +# Copyright (C) 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Petr Pisar , 2009, 2010, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-03 08:33+0200\n" +"Last-Translator: Petr Pisar \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Použití: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n PROSTOR] [-k [-i] [-" +"SIGNÁL]]\n" +" NÁZEV…\n" +" fuser -l\n" +" fuser -V\n" +"Ukáže, které procesy používají vyjmenované soubory, sockety nebo souborové\n" +"systémy.\n" +"\n" +" -a,--all zobrazí rovněž nepoužité soubory\n" +" -i,--interactive před zabitím se dotáže (ignorováno bez -k)\n" +" -k,--kill zabije procesy přistupující k zadanému souboru\n" +" -l,--list-signals vypíše seznam názvů dostupných signálů\n" +" -m,--mount zobrazí vÅ¡echny procesy používající zadané " +"souborové\n" +" systémy nebo bloková zařízení\n" +" -M,--ismountpoint vyhoví požadavku, pouze když NÁZEV je bod připojení " +"FS\n" +" -n,--namespace PROSTOR hledá v tomto jmenném prostoru\n" +" (file [soubor], udp, nebo tcp)\n" +" -s,--silent tichý běh\n" +" -SIGNÁL namísto SIGKILL poÅ¡le tento signál\n" +" -u,--user zobrazí ID uživatelů\n" +" -v,--verbose podrobný výstup\n" +" -w,--writeonly zabije jen procesy přistupující kvůli zápisu\n" +" -V,--version zobrazí informace o verzi\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 hledá pouze mezi IPv4 sockety\n" +" -6,--ipv6 hledá pouze mezi IPv6 sockety\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - konec přepínačů\n" +"\n" +" Názvy UDP/TCP: [místní_port][,[vzdálený_stroj][,[vzdálený_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993–2010 Werner Almesberger a Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc je dodáván BEZ ABSOLUTNĚ ŽÁDNÉ ZÁRUKY.\n" +"Toto je svobodné programové vybavení, můžete jej šířit podle podmínek\n" +"GNU Obecné veřejné licence (GPL).\n" +"Podrobnosti v této záležitosti naleznete v souborech pojmenovaných COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Adresář /proc nelze otevřít: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Paměť pro odpovídající proc nelze alokovat: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Soubor zadaného názvu %s neexistuje.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Nelze získat informace (stat(2)) o %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Místní port %s nelze přeložit: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Neznámá rodina adres %d místního portu\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Soubor s protokoly „%s“ nelze otevřít: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Neplatný přepínač %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Přepínač jmenného prostoru vyžaduje argument." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Neplatný název jmenného prostoru" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Spolu s přepínači bodů připojení lze použít jen soubory" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Žádné kritérium procesu nebylo zadáno" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "Přepínač -a nelze použít spolu s přepínačem -s." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Nelze současně hledat jen v IPv4 a jen v IPv6 socketech." + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s UŽIVATEL PID PŘÍSTUP PŘÍKAZ\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(neznámo)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "O souboru %s nelze získat informace: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "/proc/net/unix nelze otevřít: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Zabít proces %d? (a/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Proces %d nebylo možné zabít: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Síťový socket nelze otevřít.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Nelze nalézt číslo zařízení socketu.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Zabít %s(%s%d)? (a/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Zaslat signál %s(%s%d) ? (a/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Z procesového souboru „status“ nelze získat UID\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Chybný regulární výraz: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: částečná shoda %s(%d) se vynechá\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) zabit signálem %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: žádný proces nenalezen\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Usage: killall [-Z KONTEXT] [-u UŽIVATEL] [-eIgiqrvw] [-SIGNÁL] NÁZEV…\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Použití: killall [PŘEPÍNAČ…] [--] NÁZEV…\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact u velmi dlouhých názvu vyžaduje přesnou shodu\n" +" -I,--ignore-case porovnávání názvů procesů nebere ohled na velikost " +"písmen\n" +" -g,--process-group zabije skupinu procesů namísto procesu\n" +" -y,--younger-than zabije procesy mladší než ČAS\n" +" -o,--older-than zabije procesy starší než ČAS\n" +" -i,--interactive před zabitím se zeptá\n" +" -l,--list vypíše názvy vÅ¡ech známých signálů\n" +" -q,--quiet nevypisuje stížnosti\n" +" -r,--regexp s NÁZVEM zachází jako s rozšířeným regulárním výrazem\n" +" -s,--signal SIGNÁL odeÅ¡le tento signál namísto SIGTERM\n" +" -u,--user UŽIVATEL zabije pouze proces(y) bežící jako UŽIVATEL\n" +" -v,--verbose ohlásí úspěšně odeslaný signál\n" +" -V,--version zobrazí informace o verzi\n" +" -w,--wait čeká, dokud proces nezemře\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGVÝR zabije jen proces(y) mající kontext\n" +" (musí předcházet ostatním argumentům)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993–2012 Werner Almesberger a Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Neplatný formát času" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Uživatele %s nelze nalézt\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Chybný regulární výraz: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Maximální počet názvů je %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s postrádá záznamy procesů (není připojen?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Chyba při připojování se na PID %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Použití: peekfd [-8] [-n] [-c] [-d] [-V] [-h] PID [FD…]\n" +" -8 na výstupu neodstraňuje z datových proudů osmý bit.\n" +" -n nezobrazuje čtení/zápis z hlaviček FD.\n" +" -c Å¡pehuje též nové potomky.\n" +" -d odstraňuje duplicitní čtení/zápisy z výstupu.\n" +" -V vypíše informaci o verzi.\n" +" -h vypíše tuto nápovědu.\n" +"\n" +" Výstup ukončíte stiskem Ctrl-C.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Použití: prtstat [PŘEPÍNAČE] PID…\n" +" prtstat -V\n" +"Zobrazí informace o procesu\n" +" -r,--raw Neopracovaný výstup\n" +" -V,--version Zobrazí informace o verzi a skončí\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright © 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "běží" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "spí" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "čeká na disk" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "trasován" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "odstránkován" + +# `uknown' state +#: src/prtstat.c:90 +msgid "unknown" +msgstr "neznámý" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Proces: %-14s\t\tStav: %c (%s)\n" +" CPU č.: %-3d\t\tTTY: %s\tVláken: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"ID procesu, skupiny a relace\n" +" ID procesu: %d\t\t ID rodiče: %d\n" +" ID skupiny: %d\t\t ID relace: %d\n" +" ID skupiny vl.: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Výpadky stránek\n" +" Tento proces (menší větší): %8lu %8lu\n" +" Procesy potomků (menší větší): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Časy CPU\n" +" Tento proces (uživ systém host blokI/O): %6.2f %6.2f %6.2f %6.2f\n" +" Procesy potomků (uživ systém host): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Paměť\n" +" Vvelikost: %-10s\n" +" RSS: %-10s \t\t Omezení RSS: %s\n" +" Začátek kódu: %#-10lx\t\t Konec kódu: %#-10lx\n" +" Začátek zásobníku: %#-10lx\n" +" Ukazatel na zásobník (ESP): %#10lx Ukazatel na kód (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Plánování\n" +" Politika %s\n" +" Nice: %ld \t\t Priorita reálného času: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf v print_stat selhala.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Proces s PID %d neexistuje.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Soubor se statistikou PID %d nelze otevřít (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Neplatný přepínač" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Je třeba zadat alespoň jedno PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc není připojen, nelze získat informace o /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s je prázdný (není připojen?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Použití: pstree [-a] [-c] [-h|-H PID] [-l] [-n] [-p] [-g] [-u]\n" +" [-A|-G|-U] [PID|USER]\n" +" pstree -V\n" +"Zobrazí strom procesů.\n" +"\n" +" -a, --arguments zobrazí argumenty příkazového řádku\n" +" -A, --ascii použije znaky ASCII pro kreslení čar\n" +" -c, --compact neslučuje identické podstromy\n" +" -h, --highlight-all zvýrazní současný proces a jeho předchůdce\n" +" -H PID,\n" +" --highlight-pid=PID zvýrazní tento proces a jeho předchůdce\n" +" -g, --show-pgids zobrazí ID skupin procesů; implikuje -c\n" +" -G, --vt100 použije znaky VT100 pro kreslení čar\n" +" -l, --long nezkracuje dlouhé řádky\n" +" -n, --numeric-sort seřadí výstup podle PID\n" +" -p, --show-pids zobrazí PID; implikuje -c\n" +" -s, --show-parents zobrazí rodiče vybraného procesu\n" +" -u, --uid-changes zobrazí přechody UID\n" +" -U, --unicode použije znaky UTF-8 (Unicode) pro kreslení čar\n" +" -V, --version zobrazí informace o verzi\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z zobrazí bezpečnostní kontext SELinuxu\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID začne na tomto PID; implicitní je 1 (init)\n" +" UŽIVATEL zobrazí jen stromy, jejichž kořeny náleží tomuto uživateli\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993–2009 Werner Almesberger a Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Proměnná TERM není nastavena\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Nelze zjistit schopnosti terminálu\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Žádný uživatel se jménem: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Žádný proces nenalezen.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Uzavřete klávesou Enter\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: neznámý signál, %s -l vypíše signály.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Použití: pidof [-eg] NÁZEV…\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e u velmi dlouhých názvů vyžaduje přesnou shodu;\n" +#~ " vynechá, pokud příkazový řádek není dostupný\n" +#~ " -g zobrazí ID skupiny procesů namísto ID procesu\n" +#~ " -V zobrazí informace o verzi\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright © 1993–2005 Werner Almesberger a Craig Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "Příznaky připojený a bod připojení nelze použít současně" diff --git a/po/da.gmo b/po/da.gmo new file mode 100644 index 0000000..155ba2a Binary files /dev/null and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..5c12e3d --- /dev/null +++ b/po/da.po @@ -0,0 +1,684 @@ +# Danish translation of psmisc. +# Copyright (C) 2011 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Aputsiaq Niels Janussen , 2011. +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.12\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2011-10-02 18:11+0200\n" +"Last-Translator: Aputsiaq Niels Janussen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.6.1\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Anvendelse: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-" +"SIGNAL]]\n" +"NAVN...\n" +" fuser -l\n" +" fuser -V\n" +"Vis hvilke processer der bruger de navngivne filer, sokler eller " +"filsystemer.\n" +"\n" +" -a,--all vis ogsÃ¥ ubrugte filer\n" +" -i,--interactive spørg før der dræbes (ignoreres uden -k)\n" +" -k,--kill dræb processer som tilgÃ¥r den navngivne fil\n" +" -l,--list-signals vis tilgængelige signalnavne\n" +" -m,--mount vis alle processer med brug af de navngivne " +"filsystemer eller blokenhed\n" +" -M,--ismountpoint udfør kun forespørgsel hvis NAVN er et " +"monteringspunkt\n" +" -n,--namespace SPACE søg i dette navneomrÃ¥de (file, udp eller tcp)\n" +" -s,--silent stille kørsel\n" +" -SIGNAL send dette signal i stedet for SIGKILL\n" +" -u,--user vis ID for brugere\n" +" -v,--verbose udførlige uddata\n" +" -V,--version vis information om version\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 søg kun IPv4-sokler\n" +" -6,--ipv6 søg kun IPv6-sokler\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - nulstil tilvalg\n" +"\n" +" udp/tcp-navne: [lokal_port][,[rmt_vært][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger og Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc leveres med absolut ingen garanti.\n" +"Dette er fri software, og du er velkommen til at videredistribuere\n" +"det under vilkÃ¥rene i GNU General Public License.\n" +"Yderligere oplysninger om disse sager, se filerne med navnene COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Kan ikke Ã¥bne kataloget /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Kan ikke allokere hukommelse til matchede proc: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Angivne filnavn %s findes ikke.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Kan ikke udføre stat %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Kan ikke løse lokal port %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Ukendt lokal port AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Kan ikke Ã¥bne protokolfil \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Ugyldigt tilvalg %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Tilvalg for navneomrÃ¥de kræver et argument." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Ugyldigt navn pÃ¥ navneomrÃ¥de" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Du kan kun bruge filer med et angivet monteringspunkt" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Ingen specifikation angivet for proces" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "tilvalget --all kan ikke anvendes med tilvalget --silent." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Du kan ikke begrænse søgning til blot IPv4- og IPv6-sokler pÃ¥ samme tid" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s BRUGER PID ADGANG KOMMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(ukendt)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Kan ikke danne stat-fil %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Kan ikke Ã¥bne /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Dræb proces %d ? (j/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Kunne ikke dræbe proces %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Kan ikke Ã¥bne en netværkssokkel.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Kan ikke finde sokkels enhedsnummer.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Dræb %s(%s%d) ? (j/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Signal %s(%s%d) ? (j/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Kan ikke hente UID fra status for proces\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Ugyldigt regulært udtryk: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "springer over delvist match %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Dræbte %s(%s%d) med signal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: ingen proces fundet\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Anvendelse: killall [-Z KONTEKST] [-u BRUGER] [ -eIgiqrvw ] [ -SIGNAL ] " +"NAVN...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Anvendelse: killall [TILVALG]... [--] NAVN...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact kræver eksakt match for meget lange navne\n" +" -I,--ignore-case ikke-versalfølsom match af navn pÃ¥ proces\n" +" -g,--process-group dræb proces-gruppe i stedet for proces\n" +" -y,--younger-than dræb processer yngre end TID\n" +" -o,--older-than dræb processer ældre end TID\n" +" -i,--interactive spørg efter bekræftelse før der dræbes\n" +" -l,--list vis alle kendte signalnavne\n" +" -q,--quiet udskriv ikke reklamationer\n" +" -r,--regexp fortolk NAVN som et udvidet regulært udtryk\n" +" -s,--signal SIGNAL send dette signal i stedet for SIGTERM\n" +" -u,--user BRUGER dræb kun proces(ser) som kører som BRUGER\n" +" -v,--verbose rapportér hvis signalet blev sendt med succes\n" +" -V,--version vis information om version\n" +" -w,--wait vent pÃ¥ at processer dør\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGUDTRYK dræb kun proces(ser) som har kontekst\n" +" (skal stÃ¥ før andre argumenter)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger og Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Ugyldigt tidsformat" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Kan ikke finde brugeren %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Ugyldigt regulært udtryk: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Maksimalt antal navne er %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s er tom (ikke monteret)?\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Fejl ved tilslutning til pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Anvendelse: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 giver uddata i rene 8-bit strømme.\n" +" -n vis ikke læsning/skrivning fra fd-headere.\n" +" -c smugkig ogsÃ¥ pÃ¥ alle nye barneprocesser.\n" +" -d fjern duplikerede læsninger/skrivninger fra uddata.\n" +" -V udskriver versionsinfo.\n" +" -h udskriver denne hjælp.\n" +"\n" +" Tryk CTRL-C for at stoppe uddata.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Anvendelse: prtstat [tilvalg] PID ...\n" +" prtstat -V\n" +"Udskriv information om en proces\n" +" -r,--raw RÃ¥ visning af information\n" +" -V,--version Vis information om version og afslut\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "kører" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "sover" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "disk sover" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "spores" + +# Denne har jeg ladet stÃ¥ uoversat, mÃ¥ske paginering eller side +#: src/prtstat.c:88 +msgid "paging" +msgstr "paging" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "ukendt" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Proces: %-14s\t\tTilstand: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tTrÃ¥de: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Proces, Gruppe og Sessions-ID'er\n" +" Proces ID: %d\t\t Forælder-ID: %d\n" +" Gruppe-ID: %d\t\t Sessions-ID: %d\n" +" T Gruppe-ID: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Sidefejl\n" +" Denne proces (minor major): %8lu %8lu\n" +" Barneprocesser (minor major): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU-tider\n" +" Denne proces (bruger system gæst blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Barneprocesser (bruger system gæst): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Hukommelse\n" +" Vstørrelse: %-10s\n" +" RSS: %-10s \t\t RSS-grænse: %s\n" +" Kodestart: %#-10lx\t\t Kodestop: %#-10lx\n" +" Stakstart: %#-10lx\n" +" Stakpeger (ESP): %#10lx\t Inst-peger (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Skedulering\n" +" Politik: %s\n" +" Venlig: %ld \t\t RT-prioritet: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf i print_stat mislykkedes.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Processen med pid %d findes ikke.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ikke i stand til at Ã¥bne stat-fil for pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Ugyldigt tilvalg" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Du skal mindst angive én PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc er ikke monteret, kan ikke udføre stat for /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s er tom (ikke monteret)?\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Anvend: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | BRUGER ]\n" +" pstree -V\n" +"Vis en træstruktur over processer.\n" +"\n" +" -a, --arguments vis kommandolinje-argumenter\n" +" -A, --ascii anvend ASCII-linjetegnede skrifttegn\n" +" -c, --compact undlad at sammenpakke identiske understrukturer\n" +" -h, --highlight-all fremhæv nuværende proces og dens forfædre\n" +" -H PID,\n" +" --highlight-pid=PID fremhæv denne proces og dens forfædre\n" +" -G, --vt100 anvend VT100-linjetegnede skrifttegn\n" +" -l, --long undlad at afkorte lange linjer\n" +" -n, --numeric-sort sortér uddata ved PID\n" +" -p, --show-pids vis PID'er; implicerer -c\n" +" -u, --uid-changes vis uid-overgange\n" +" -U, --unicode anvend UTF-8 (Unicode) linjetegnede skrifttegn\n" +" -V, --version vis information om version\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z vis SELinux-sikkerhedskontekster\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID start ved denne PID; standard er 1 (init)\n" +" USER vis kun træstrukturer som har denne bruger som rod\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger og Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM er ikke angivet\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Kan ikke skaffe oplysninger om terminalens funktioner\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Brugernavnet findes ikke: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Fandt ingen processer.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Tryk retur for at lukke\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: ukendt signal; %s -l viser signaler.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Anvendelse: pidof [ -eg ] NAVN...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e kræver eksakt match for meget lange navne\n" +#~ " spring over hvis kommandolinje er utilgængelig\n" +#~ " -g vis gruppe-ID for proces i stedet for proces-ID\n" +#~ " -V vis information om version\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" +#~ "\n" diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000..a0b796d Binary files /dev/null and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..c98751f --- /dev/null +++ b/po/de.po @@ -0,0 +1,704 @@ +# German translation for PSmisc programs. +# Copyright (C) 2002, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Wolfgang Schorer , 2002. +# Benno Schulenberg , 2007. +# Roland Illig , 2009. +# Roland Illig , 2010. +# Roland Illig , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-01 11:08+0100\n" +"Last-Translator: Roland Illig \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Aufruf: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n RAUM] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Zeigt an, welche Prozesse die angegebenen Dateien, Sockets oder Dateisysteme " +"benutzen.\n" +"\n" +" -a,--all zeige auch die ungenutzten Dateien an\n" +" -i,--interactive vor dem Abschießen nachfragen (ohne -k wirkungslos)\n" +" -k,--kill schieße Prozesse ab, die auf die angegebene Datei " +"zugreifen\n" +" -l,--list-signals liste die Signalnamen auf\n" +" -m,--mount zeige alle Prozesse an, die auf die angegebenen " +"Dateisysteme oder Blockgeräte zugreifen\n" +" -M,--ismountpoint Operation nur durchführen, wenn NAME ein " +"Einhängepunkt ist\n" +" -n,--namespace RAUM suche in angegebenem Namensraum (file, udp oder tcp)\n" +" -s,--silent stille Operation\n" +" -SIGNAL sende 'SIGNAL' anstatt SIGKILL\n" +" -u,--user zeige die Benutzer-IDs an\n" +" -v,--verbose ausführliche Ausgabe\n" +" -w,--writeonly nur Prozesse mit Schreibzugriff beenden\n" +" -V,--version zeige Versionsinformationen an\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 suche nur IPv4-Sockets\n" +" -6,--ipv6 suche nur IPv6-Sockets\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - Zurücksetzen der Optionen\n" +"\n" +" udp/tcp-Namen: [lokaler_port][,[entfernter_rechner][,[entfernter_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger und Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Für PSmisc gibt es KEINERLEI GARANTIE.\n" +"Es ist freie Software und Sie dürfen sie gern gemäß den Bedingungen\n" +"der GNU General Public License (GPL) weiter vertreiben.\n" +"Zusätzliche Informationen dazu finden Sie in der Datei namens COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Verzeichnis /proc kann nicht geöffnet werden: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Kein Speicher mehr verfügbar für zugehöriges Prozess: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Angegebener Dateiname %s existiert nicht.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Kann Status von \"%s\" nicht ermitteln: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Kann lokalen Port %s nicht auflösen: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Unbekannter lokaler Port AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Kann Protokolldatei »%s« nicht öffnen: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Ungültige Option %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Die Namensraum-Option benötigt ein Argument." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Ungültiger Namensraum" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Dateien können nur mit der Einhängepunkt-Option verwendet werden" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Keine Prozessspezifikation angegeben" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "Option -a kann nicht mit der Option -s kombiniert werden." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Sie können nicht gleichzeitig ausschließlich nach IPv4 und ausschließlich " +"nach IPv6-Sockets suchen." + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s BEN. PID ZUGR. BEFEHL\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(unbekannt)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Status der Datei %s kann nicht ermittelt werden: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "/proc/net/unix kann nicht geöffnet werden: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Prozess %d abbrechen? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Kann Prozess %d nicht abbrechen: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Kann keine Netzwerkverbindung öffnen.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Kann die Gerätenummer der Sockets nicht finden.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "%s(%s%d) abbrechen? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Signal %s(%s%d) senden? (y/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Kann keine UID vom Prozessstatus erhalten\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Ungültiger regulärer Ausdruck: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: Überspringe teilweise Übereinstimmung von %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) mit Signal %d beendet\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: Kein Prozess gefunden\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Aufruf: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [-SIGNAL] NAME...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Aufruf: killall - [OPTION]... [--]NAME...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact verlange genaue Übereinstimmung für sehr lange Namen\n" +" -I,--ignore-case Groß- und Kleinschreibung nicht beachten\n" +" -g,--process-group breche Prozessgruppe statt Einzelprozess ab\n" +" -y,--younger-than Prozesse jünger als ZEIT abbrechen\n" +" -o,--older-than Prozesse älter als ZEIT abbrechen\n" +" -i,--interactive verlange vor Abbruch Bestätigung des Benutzers\n" +" -l,--list liste alle bekannten Signalnamen auf\n" +" -q,--quiet keine Warnungen und Fehler ausgeben\n" +" -r,--regexp NAME ist ein erweiteter regulärer Ausdruck\n" +" -s,--signal SIGNAL sende benutzerdefiniertes Signal anstatt SIGTERM\n" +" -u,--user USER nur Prozesse von angegebenem Benutzer abbrechen\n" +" -v,--verbose berichte, falls das Signal erfolgreich gesendet wurde\n" +" -V,--version zeige Version\n" +" -w,--wait warte auf das Ende der Prozesse\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP breche nur Prozesse ab, die einen Kontext haben\n" +" (muss vor anderen Argumenten stehen)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger und Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Ungültiges Zeitformat" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Kann Benutzer %s nicht finden!\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Ungültiger regulärer Ausdruck: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Die maximale Anzahl von Namen ist %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "" +"killall: Bei %s fehlen die Prozesseinträge (Dateisystem möglicherweise nicht " +"eingehängt?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Fehler beim Anhängen an PID %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Aufruf: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 8-Bit-Ausgabe erzwingen.\n" +" -n Header für Lesen/Schreiben aus FDs nicht anzeigen.\n" +" -c Auch nach neuen Kindprozessen Ausschau halten.\n" +" -d Doppeltes Lesen/Schreiben nicht ausgeben.\n" +" -V Versionsinformationen ausgeben.\n" +" -h Diese Hilfe ausgeben.\n" +"\n" +" Drücken Sie Strg-C, um die Ausgabe zu beenden.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Aufruf: prtstat [Optionen] PID ...\n" +" prtstat -V\n" +"Informationen über einen Prozess ausgeben\n" +" -r,--raw Rohe Ausgabe der Informationen\n" +" -V,--version Versionsinformationen anzeigen und beenden\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "läuft" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "schläft" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "schläft (Disk)" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "schritt" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "auslagerung" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "unbekannt" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Prozess: %-14s\t\tZustand: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Prozess-, Gruppen- und Session-IDs\n" +" Prozess-ID: %d\t\t Eltern-ID: %d\n" +" Gruppen-ID: %d\t\t Session-ID: %d\n" +"T-Gruppen-ID: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Seitenfehler\n" +" Dieser Prozess (klein groß): %8lu %8lu\n" +" Kindprozesse (klein groß): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU-Zeiten\n" +" Dieser Prozess (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Kindprozesse (user system guest): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Speicher\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS-Grenzwert: %s\n" +" Code-Start: %#-10lx\t\t Code-Ende: %#-10lx\n" +" Stack-Start: %#-10lx\n" +" Stackzeiger (ESP): %#10lx\t Befehlszeiger (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Prozessplanung\n" +" Richtlinie: %s\n" +" Nett: %ld \t\t RT-Priorität: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf in print_stat fehlgeschlagen.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Prozess mit PID %d existiert nicht.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Konnte Stat-Datei für PID %d nicht öffnen: %s\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Ungültige Option" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Sie müssen mindestens eine PID angeben." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc ist nicht eingehängt, kann /proc/self/stat nicht lesen.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s ist leer (Dateisystem möglicherweise nicht eingebunden?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Aufruf: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Zeigt einen Prozessbaum an.\n" +"\n" +" -a, --arguments zeige Kommandozeilenargumente an\n" +" -A, --ascii benutze ASCII-Zeichen für die Ausgabe\n" +" -c, --compact identische Unterbäume werden nicht " +"zusammengefasst\n" +" -h, --highlight all hebe den aktuellen Prozess und seine Ahnen hervor\n" +" -H PID, --highlight-pid=PID hebe diesen Prozess und seine Ahnen " +"hervor\n" +" -g, --show-pids zeige Prozessgruppen-IDs an; impliziert -c\n" +" -G, --vt100 benutze VT100-Zeichen für die Ausgabe\n" +" -l, --long kein Abschneiden langer Zeilen\n" +" -n, --numeric-sort Ausgabe nach PID sortieren\n" +" -p, --show-pids zeige PIDs an; enthält Option -c\n" +" -u, --uid-changes zeige UID-Wechsel an\n" +" -U, --unicode benutze UTF-8 (Unicode) für die Ausgabe\n" +" -V, --version Ausgabe der verwendeten Version\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z zeige SELinux-Sicherheitskontext\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID mit dieser PID starten; Vorgabewert ist 1 (init)\n" +" BENUTZER zeige nur Prozessbäume, deren Wurzeln Prozesse dieses " +"Benutzers sind\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM ist nicht gesetzt\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Kann die Fähigkeiten des Terminals nicht erkennen\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Kein Benutzer mit dem Namen »%s«\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Keine Prozesse gefunden.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Drücken Sie Enter zum Schließen\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: unbekanntes Signal; %s -l listet die Signale auf.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Aufruf: pidof [-eg] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e exakte Übereinstimmung für sehr lange Namen erforderlich;\n" +#~ " ignorieren, wenn die Kommandozeile nicht verfügbar ist\n" +#~ " -g zeige Prozessgruppen-ID statt der Prozess-ID\n" +#~ " -V zeige Version\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger und Craig Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "" +#~ "Die Flags gemounted und mount-Punkt können nicht gleichzeitig verwendet " +#~ "werden." + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Kann Status von Einhängepunkt \"%s\" nicht ermitteln: %s\n" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "/etc/mtab kann nicht geöffnet werden: %s\n" diff --git a/po/el.gmo b/po/el.gmo new file mode 100644 index 0000000..0858613 Binary files /dev/null and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..10a8e93 --- /dev/null +++ b/po/el.po @@ -0,0 +1,661 @@ +# translation of psmisc-22.6.po to Greek +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Lefteris Dimitroulakis , 2008. +msgid "" +msgstr "" +"Project-Id-Version: psmisc-22.6\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2008-06-15 18:31+0300\n" +"Last-Translator: Lefteris Dimitroulakis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Χρήση: fuser [ -a | -s | -c ] [ -n SPACE ] [ -ΣΗΜΑ ] [ -kimuv ] ΟΝΟΜΑ...\n" +" [ - ] [ -n SPACE ] [ -ΣΗΜΑ ] [ -kimuv ] ΟΝΟΜΑ...\n" +" fuser -l\n" +" fuser -V\n" +"Οι διεργασίες που χρησιμοποιούν τα δεδομένα αρχεία, sockets, ή συστήματα " +"αρχείων.\n" +"\n" +" -a εμφάνιση επίσης των μη χρησιμοποιουμένων αρχείων \n" +" -c προσαρτημένο FS\n" +" -f αγνοήθηκε σιωπηλά (για λόγους συμβατότητας με POSIX)\n" +" -i ερώτηση πριν τον τερματισμό (ignored without -k)\n" +" -k τερματισμός διεργασιών που χρησιμοποιούν το δεδομένο αρχείο\n" +" -l λίστα διαθεσίμων σημάτων\n" +" -m οι διεργασίες που χρησιμοποιούν τα δεδομένα συστήματα αρχείων\n" +" -n SPACE αναζήτηση σε αυτόν την ομάδα ονομάτων (file, udp, ή tcp)\n" +" -s σιωπηλή λειτουργία\n" +" -ΣΗΜΑ αποστολή αυτού του σήματος αντί του SIGKILL\n" +" -u εμφάνιση ID χρήστη\n" +" -v έξοδος με πολλά λόγια\n" +" -V εμφάνιση πληροφοριών έκδοσης\n" + +#: src/fuser.c:150 +#, fuzzy, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4 αναζήτηση μόνο IPv4 sockets\n" +" -6 αναζήτηση μόνο IPv6 sockets\n" + +#: src/fuser.c:153 +#, fuzzy, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - επανάταξη επιλογών\n" +"\n" +" ονόματα udp/tcp: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger και Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Αδυναμία ανοίγματος καταλόγου /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Αδύνατη η εκχώρηση μνήμης στην αντίστοιχη διεργασία: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Αδύνατον να προσδιορίσω %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Δεν μπορώ να βρω την τοπική θύρα %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Άγνωστη τοπική θύρα AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Δεν μπορώ να ανοίξω αρχείο πρωτοκόλλου \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Η επιλογή του πίνακα ονομάτων απαιτεί όρισμα" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Λάθος όνομα" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "" +"Δεν μπορείτε να χρησιμοποιήσετε παρά τα αρχεία με την επιλογή σημείου " +"προσάρτησης" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Ουδεμία προδιαγραφή διεργασίας δόθηκε" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "Η επιλογή all δεν μπορεί να χρησιμοποιηθεί με την επιλογή silent." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Δεν μπορείτε να ψάξετε συγχρόνως\n" +"μόνο για sockets IPv4 και μόνο για sockets IPv6." + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s USER PID ACCESS COMMAND\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(άγνωστο)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Αδύνατον να προσδιορίσω το αρχείο %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Αδυναμία ανοίγματος του /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Kill process %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Αδύνατον να τερματίσω τη διεργασία %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Δεν μπορώ να ανοίξω ένα δικτυακό socket.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Αδύνατον να βρω τον αριθμό της συσκευής του socket.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Kill %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Signal %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Δεν μπορώ να πάρω UID από την κατάσταση της διεργασίας\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Κακή κανονική έκφραση: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "παράβλεψη μερικού ταιριάσματος %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Τερματίστηκε %s(%s%d) με το σήμα %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: ουδεμία διεργασία τερματίστηκε\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Χρήση: killall [-Z CONTEXT] [-u ΧΡΗΣΤΗΣ] [ -eIgiqrvw ] [ -ΣΗΜΑ ] ΟΝΟΜΑ...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Χρήση: killall [ΕΠΙΛΟΓΗ]... [--] ΟΝΟΜΑ...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact απαιτεί ακριβές ταίριασμα για πολύ μεγάλα ονόματα\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list λίστα με όλα τα γνωστά σήματα\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version εμφάνιση πληροφορίας έκδοσης\n" +" -w,--wait wait for processes to die\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP τερματίζει μόνο την/τις διεργασία(ες) με context\n" +" (πρέπει να προηγείται των άλλων ορισμάτων)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger και Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Δεν μπορώ να βρω το χρήστη %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Κακή κανονική έκφραση: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Μέγιστος αριθμός ονομάτων είναι %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s είναι άδειο (μή προσαρτημένο ;)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Σφάλμα κατά την πρόσδεση στη διεργασία με pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Χρήση: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 καθαρή 8μπιτη έξοδος.\n" +" -n δεν εμφανίζει αναγνώσεις/εγγραφές from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d αφαιρεί διπλές αναγνώσεις/εγγραφές από την έξοδο.\n" +" -V εμφανίζει πληροφορίες έκδοσης.\n" +" -h εμφανίζει αυτήν εδώ τη βοήθεια.\n" +"\n" +" Πάτησε CTRL-C to end output.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(άγνωστο)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s είναι άδειο (μή προσαρτημένο ;)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Χρήση: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | ΧΡΗΣΤΗΣ ]\n" +" pstree -V\n" +"Εμφανίζει το δέντρο διεργασιών.\n" +"\n" +" -a εμφανίζει τα ορίσματα της γραμμής διαταγών\n" +" -A χρησιμοποίησε τους χαρακτήρες ASCII line drawing\n" +" -c don't compact identical subtrees\n" +" -h υπογράμμισε την τρέχουσα διεργασία και τις γονικές της\n" +" -H PID highlight αυτή την διεργασία και τις γονικές της\n" +" -G use VT100 line drawing characters\n" +" -l don't truncate long lines\n" +" -n ταξινόμηση εξόδου κατά PID\n" +" -p εμφανίζει τις PID; implies -c\n" +" -u show uid transitions\n" +" -U χρήση UTF-8 (Unicode) line drawing characters\n" +" -V εμφανίζει πληροφορίες έκδοσης\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z εμφάνιση SELinux security contexts\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID εκκίνηση σε αυτό το PID; η προεπιλογή είναι 1 (init)\n" +" USER εμφάνιση μόνο δέντρων rooted at processes of this user\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger και Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Η μεταβλητή TERM δεν έχει καθοριστεί\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Δεν μπορώ να πάρω τις ικανότητες τερματικού\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Δεν υπάρχει τέτοιο όνομα χρήστη: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Δεν βρέθηκαν διεργασίες.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Πάτησε return για κλείσιμο\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: άγνωστο σήμα; %s -l εμφανίζει όλα τα σήματα.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Χρήση: pidof [ -eg ] ΟΝΟΜΑ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e απαιτεί ακριβές ταίριασμα για πολύ μεγάλα ονόματα;\n" +#~ " παράβλεψη αν η γραμμή διαταγών δεν είναι διαθέσημη\n" +#~ " -g εμφάνιση process group ID αντί της ID διεργασίας\n" +#~ " -V εμφάνιση πληροφοριών εκδόσεως\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Σημείο προσάρτησης %s απροσδιόριστο: %s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "" +#~ "Αδύνατη η ταυτόχρονη χρήση των σημαιών προσαρτημένο και σημείο προσάρτησης" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Αδυναμία ανοίγματος του αρχείου /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Εσωτερικό σφάλμα: MAX_DEPTH όχι αρκετά μεγάλο.\n" diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 0000000..fedb6a0 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 0000000..a9647fc --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/eo.gmo b/po/eo.gmo new file mode 100644 index 0000000..1448a52 Binary files /dev/null and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..8ff2066 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,683 @@ +# Esperanto translation. +# Copyright (C) 2011, 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Felipe Castro , 2011, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-03 08:00-0300\n" +"Last-Translator: Felipe Castro \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Uzado: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACO] [-k [-i] [-SIGNALO]] " +"NOMO...\n" +" fuser -l\n" +" fuser -V\n" +"Montras kiujn procezojn uzas la nomitajn dosierojn, ingojn, aÅ­ " +"dosiersistemojn.\n" +"\n" +" -a,--all montrigi ankaÅ­ neuzatajn dosierojn\n" +" -i,--interactive demandi antaÅ­ ol mortigi (ne efika sen -k)\n" +" -k,--kill mortigi procezon, kiu aliras la nomitan dosieron\n" +" -l,--list-signals listigi disponeblajn signalo-nomojn\n" +" -m,--mount montri ĉiujn procezojn, kiuj uzas la nomitajn " +"dosiersistemojn aÅ­ blok-aparaton\n" +" -M,--ismountpoint plenumigi peton nur se NOMO estas munt-punkto\n" +" -n,--namespace SPACO serĉi en tiu ĉi nom-spaco(file, udp, aÅ­ tcp)\n" +" -s,--silent silenta funkciado\n" +" -SIGNALO sendi tiun ĉi signalon anstataÅ­ SIGKILL\n" +" -u,--user montrigi ID de uzantoj\n" +" -v,--verbose detalema eligo\n" +" -w,--writeonly mortigi nur la procezojn kun skrib-permeso\n" +" -V,--version montrigi informon pri versio\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 serĉi nur ingojn IPv4\n" +" -6,--ipv6 serĉi nur ingojn IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - reŝargaj elektiloj\n" +"\n" +" udp/tcp nomoj: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Kopirajto (C) 1993-2010 Werner Almesberger kaj Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc venas kun ABSOLUTE NENIUN GARANTION.\n" +"Tio ĉi estas libera programaro, kaj vi estas invitata redisdoni ĝin sub\n" +"la kondiĉoj de la Ĝenerala Publika Permesilo GNU.\n" +"Por pli da informoj pri tiuj ĉi aferoj, vidu la dosierojn nomitajn COPYING " +"(angle).\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Ne eblas malfermi dosierujon /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Ne eblas rezervi memoron por kongruinta proc: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "La indikita dosiernomo %s ne ekzistas.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Ne eblas apliki stat %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Ne eblas solvi lokan pordon %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Nekonata loka pordo AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Ne eblas malfermi protokolan dosieron \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Malvalida elektilo %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Nomspaca elektilo postulas unu argumenton." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Malvalida nomo por nomspaco" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Vi nur povas uzi dosierojn kun munt-punktaj elektiloj" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Neniu specifo pri procezo estis donata" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "elektilo 'all' ne povas esti uzata kun silenta elektilo." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Vi ne povas serĉi ingojn nur IPv4 kaj nur IPv6 samtempe" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s UZANTO PID ALIRO KOMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(nekonata)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Ne eblas apliki stat en dosiero %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Ne eblas malfermi /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Ĉu mortigi la procezon %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Ne eblis mortigi la procezon %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Ne eblas malfermi retan ingon.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Ne eblas trovi aparat-numeron de ingo.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Ĉu mortigi %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Ĉu signali %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Ne eblas preni UID el procez-stato\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Malĝusta regulesprimo: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: preterpasas ne-kompletan kongruon %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Ni mortigis %s(%s%d) per signalo %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: neniu procezo trovite\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Uzado: killall [-Z KUNTEKSTO] [-u UZANTO] [ -eIgiqrvw ] [ -SIGNALO ] " +"NOMO...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Uzado: killall [ELEKTILO]... [--] NOMO...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact postuli ĝustan kongruon por tre longaj nomoj\n" +" -I,--ignore-case sen-uskleca procez-noma kongruo\n" +" -g,--process-group mortigi procez-grupon anstataŭ procezon\n" +" -y,--younger-than mortigi procezon pli nova ol TEMPO\n" +" -o,--older-than mortigi procezon pli malnova ol TEMPO\n" +" -i,--interactive peti konfirmon antaŭ ol mortigi\n" +" -l,--list listigi ĉiujn konatajn signal-nomojn\n" +" -q,--quiet ne printi plendojn\n" +" -r,--regexp interpreti NOMO kiel etenditan regul-esprimon\n" +" -s,--signal SIGNALO sendi tiun ĉi signalon anstataÅ­ SIGTERM\n" +" -u,--user UZANTO mortigi nur procezo(j)n rulantajn kiel UZANTO\n" +" -v,--verbose raporti ĉu signalo estis sukcese sendata\n" +" -V,--version montrigi informon pri versio\n" +" -w,--wait atendi ke procezoj mortu\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP mortigi nur procezo(j)n kiuj havu kuntekston\n" +" (devas veni antaŭ aliaj argumentoj)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Kopirajto (C) 1993-2012 Werner Almesberger kaj Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Malvalida tempo-formo" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Ne eblas trovi la uzanton %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Malĝusta regul-esprimo: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Maksimuma nombro da nomoj estas %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s malhavas procezajn informojn (ĉu ne muntita ?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Eraro dum konektiĝo al pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Kopirajto (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Uzado: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 eligi 8-bitan purajn fluojn.\n" +" -n ne montrigi leg/skribo el kaplinioj fd.\n" +" -c rigardeti ankaŭ iun ajn novan idan procezon.\n" +" -d forigi duobligitaj leg/skribojn el la eligo.\n" +" -V printi information pri versio.\n" +" -h printi tiun ĉi helpon.\n" +"\n" +" Premu CTRL-C por ĉesigi eligon.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Uzado: prtstat [elektiloj] PID ...\n" +" prtstat -V\n" +"Printi informon pri procezo\n" +" -r,--raw Kruda montrigo de informaro\n" +" -V,--version Montrigi informon pri versio kaj eligi\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Kopirajto (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "rulanta" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "dormanta" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "disk-dormado" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombia" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "spursekvata" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "paĝiganta" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "nekonata" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Procezo: %-14s\t\tStato: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tFadenoj: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"ID de Procezo, Grupo kaj Seanco\n" +" Proceza ID: %d\t\t Patra ID: %d\n" +" Grupa ID: %d\t\t Seanca ID: %d\n" +" T Grupa ID: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Paĝ-Eraroj\n" +" Tiu ĉi Procezo (malpleja pleja): %8lu %8lu\n" +" Idaj Procezoj (malpleja pleja): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU-Tempoj\n" +" Tiu ĉi Procezo (uzanto sistemo gastigo blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Idaj procezoj (uzanto sistemo gastigo): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memoro\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS-Limo: %s\n" +" Kod-Komenco: %#-10lx\t\t Kod-Fino: %#-10lx\n" +" Stak-Komenco: %#-10lx\n" +" Stak-Indikilo (ESP): %#10lx\t Inst-Indikilo (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Planado\n" +" Strategio: %s\n" +" 'Nice': %ld \t\t RT Prioritato: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf en print_stat malsukcesis.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Procezo kun pid %d ne ekzistas.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ne eblas malfermi stat-dosiero por pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Malvalida elektilo" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Vi devas provizi minimume unu PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc ne estas muntita, ni ne povas apliki stat en /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s estas malplena (ĉu ne muntita ?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Uzado: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | UZANTO ]\n" +" pstree -V\n" +"Montrigi arbon de procezoj.\n" +"\n" +" -a, --arguments montri komand-liniajn argumentojn\n" +" -A, --ascii uzi ASCII-ajn lini-desegnajn signojn\n" +" -c, --compact ne kompaktigi identajn sub-arbojn\n" +" -h, --highlight-all reliefigi nunajn procezojn kaj ties praulojn\n" +" -H PID,\n" +" --highlight-pid=PID reliefigi tiun ĉi procezon kaj ties praulojn\n" +" -G, --vt100 uzi VT100-ajn lini-desegnajn signojn\n" +" -l, --long ne tranĉi longajn liniojn\n" +" -n, --numeric-sort ordigi eligon laŭ PID\n" +" -p, --show-pids montri PID-ojn; implikas -c\n" +" -s, --show-parents montri praulojn de la elektita procezo\n" +" -u, --uid-changes montri transigoj de uid\n" +" -U, --unicode uzi UTF-8 (Unikodan) lini-desegnajn signojn\n" +" -V, --version montrigi informon pri versio\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z montri sekurecajn kuntekstojn SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID komencas ĉe tiu ĉi PID; apriore estas is 1 (init)\n" +" UZANTO montri nur arbojn kiuj havas radikojn ĉe procezoj de tiu ĉi uzanto\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Kopirajto (C) 1993-2009 Werner Almesberger kaj Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM ne estas difinita\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Ne eblas koni la kapablojn de la terminalo\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Neniu uzant-nomo tia: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Neniu procezo trovite.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Premu la enigklavon por fermi\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: nekonata signalo; %s -l listigas la signalojn.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Uzado: pidof [ -eg ] NOMO...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e postuli ĝustan kongruon por tre longaj nomoj;\n" +#~ " preterpasas se la komand-linio ne disponeblas\n" +#~ " -g montri procezan grup-ID anstataŭ procezan ID\n" +#~ " -V montrigi informon pri versio\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Kopirajto (C) 1993-2005 Werner Almesberger kaj Craig Small\n" +#~ "\n" diff --git a/po/eu.gmo b/po/eu.gmo new file mode 100644 index 0000000..7309ba9 Binary files /dev/null and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..72f3817 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,824 @@ +# Basque translation of psmisc. +# Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Mikel Olasagasti Uranga , 2004, 2005, 2009, 2010. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.11-pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2010-03-29 10:09+0100\n" +"Last-Translator: Mikel Olasagasti \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Erabilerera: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n EREMUA] [-k[-i] [-" +"SEINALEA]] IZENA...\n" +" fuser -l\n" +" fuser -V\n" +"Bistaratu zein prozesuk erabiltzen dituzten izendatutako fitxategi, socket " +"edo fitxategi-sistemak.\n" +"\n" +" -a,--all erakutsi erabiligabeko fitxategiak ere\n" +" -i,--interactive galdetu hil baina lehenago (ignoratua -k gabe)\n" +" -k,--kill hil fitxategi hori erabiltzen hari diren prozesuak\n" +" -l,--list-signals zerrendatu eskuragarri dauden seinale izenak\n" +" -m,--mount bistaratu izendatutako fitxategi sistema edo bloke " +"gailua erabiltzen duten prozesu guztiak\n" +" -M,--ismountpoint IZENA muntai puntua denean bakarrik burutu eskaera\n" +" -n,--namespace EREMUAK bilatu eremu hauteko batean (fitxategia, udp, " +"edo tcp)\n" +" -s,--silent operazio ixila\n" +" -SEINALEA bidali seinalea SIGKILL beharrean\n" +" -u,--user erakutsi erabiltzaileen id-ak\n" +" -v,--verbose irteera xehetua\n" +" -V,--version erakutsi bertsio informazioa\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 bilatu IPv4 socket-ak bakarrik\n" +" -6,--ipv6 bilatu IPv6 socket-ak bakarrik\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - garbitu aukerak\n" +"\n" +" udp/tcp izenak: [ataka_lokala][,[urruneko_ostalaria][,[urruneko_ataka]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger eta Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc-k ez du INONGO BERMERIK.\n" +"Software librea da, eta berriro bana daiteke GNU Lizentzia Publiko " +"Orokorrak\n" +"ezarritako baldintzak betez.\n" +"Gai honi buruzko informazio gehiagorako, ikusi COPYING izena duten " +"fitxategiak.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Ezin da /proc direktorioa ireki: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Ezin da memoria esleitu aurkitutako prozesuarentzat: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Adierazitako %s fitxategia ez da existitzen.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Ezin da %s identifikatu: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Ezin da %s ataka lokala ebatzi: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "AF ataka lokal ezezaguna %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Ezin izan da \"%s\" protokolo fitxategia ireki: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: %s baliogabeko aukera\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Namespace aukerak argumentua behar du" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Baliogabeko namespace izena" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "muntai-puntu aukerak dituzten fitxategiak erabil ditzazkezu soilik" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Ez da prozesuaren espezifikaziorik eman" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "aukera guztiak ezin dira ixiltasun aukerarekin erabili." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Ezin dituzu IPv4 socket-ak soilik eta IPv6 socket-ak soilik bilatu une berean" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s ERAB. PID SARRERA KOMANDOA\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(ezezaguna)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Ezin da %s fitxategia identifikatu: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Ezin da /proc/net/unix direktorioa ireki: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "%d prozesua hil? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Ezin izan da %d prozesua hil: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Ezin da sare socket bat ireki.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Ezin izan da socket-aren gailu zenbakia aurkitu.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "%s(%s%d) hil? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Seinala bidali %s(%s%d)? (b/E) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Ezin da UID-a lortu prozesuaren egoeragatik\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Expresio erregular okerra: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "baterakuntza partziala saltatzen %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) hil da %d seinalearekin\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: ez da prozesurik aurkitu\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Erabilera: killall [-Z KONTESTUA] [-u ERABILTZAILEA] [ -egiqvw ] [ -" +"SEINALEA ] IZENA ...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "erabilera: killall [AUKERAK ] [ -- ] IZENA...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V --version\n" +"\n" +" -e,--exact izen oso luzeentzat berdin-berdin idaztea behar da\n" +" -I,--ignore-case ez ezberdindu letra maiskula/minuskulak\n" +" -g,--process-group hil prozesu taldea prozesuaren ordez\n" +" -y,--younger-than ORDUA baina berriagoak diren prozesuak hil\n" +" -o, --older-than ORDUA baina zaharragoak diren prozesuak hil\n" +" -i,--interactive konfirmazioa eskatu hil aurretik\n" +" -l,--list zerrendatu seinale ezagun guztien izenak\n" +" -q,--quiet ez erakutsi kexuak\n" +" -r, --regexp interpretatu IZENA luzatutako expresio erregular bat " +"bezala\n" +" -s,--signal SEINALEA bidali seinalea SIGTERM-ren ordez\n" +" -u, --user ERABILTZAILEA hil ERABILTZAILEA bezela exekutatzen hari " +"diren prozesuak\n" +" -v,--verbose informatu seinalea arrakasterekin bidali bada\n" +" -V,--version bertsioaren informazioa bistaratu\n" +" -w,--wait itxaron prozesuak hil arte\n" +"\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP hil kontestua duten prozesuak bakarrikkill only process" +"(es)\n" +" (beste argumentu batzuk aurretik izan behar ditu)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger eta Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Baliogabeko ordu formatua" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Ezin da %s erabiltzailea aurkitu\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Expresio erregular okerra: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Izen kopuru gehiengoa %d da\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s hutsik dago (muntatu gabea?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Errorea %i prozesura atxikitzen\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Erabilera: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 8 bit-eko irteera jario garbiak.\n" +" -n ez bistaratu fd goiburuen irakurketa/idazketak.\n" +" -c seme-prozesu berriak ere begiratu.\n" +" -d ezabatu irteerako irakurketa/idazketa bikoiztuak.\n" +" -V bistaratu bertsioaren informazioa.\n" +" -h laguntza hau bistaratu.\n" +"\n" +" Sakatu CTR-C amaitzeko.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Erabilera: prtstat [aukerak] PID ...\n" +" prtstat -V\n" +"Prozesu baten informazioa bistaratu\n" +" -r,--raw Informazioa gordinik bistaratu\n" +" -V,--version Erakutsi bertsio informazioa eta irten\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "aktibo" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "lotan" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "lotan (diska)" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "trazeatuta" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "orrikatzen" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "ezezaguna" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Prozesua: %-14s\t\tEgoera: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tHariak: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Prozesua, taldea eta saio IDak\n" +" Prozesu IDa: %d\t\t Aita IDa: %d\n" +" Talde IDa: %d\t\t Saio IDa: %d\n" +" T Talde IDa: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Orrikatze hutsegiteak\n" +" Prozesu hau (minor major): %8lu %8lu\n" +" Seme prozesuak (minor major): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU denborak\n" +" Prozesu hau (erabiltzailea sistema gonbidatua blkio): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Seme prozesuak (erabiltzailea sistema gonbidatua): %6.2f %6.2f " +"%6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memoria\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limitea: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Antolaketa\n" +" Politika: %s\n" +" Nice: %ld \t\t RT Prioritatea: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf-ek print_stat-en huts egin du.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "%d pid-a duen prozesua ez da existitzen.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ezin da stat fitxategia ireki %d (%s) pid-erako\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Baliogabeko aukera" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Gutxienez PID bat eman behar duzu" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc ez dago muntatua, ezin da stat egin /proc/self/stat fitxategian.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s hutsik dago (muntatu gabea?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Erabilera: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | ERABILTZAILEA]\n" +" pstree -V\n" +"Bistaratu prozesu zuhaitz bat.\n" +"\n" +" -a, --arguments erakutsi komando lerroaren argumentoak\n" +" -A, --ascii erabili ASCII karaktereak\n" +" -c, --compact ez trinkotu azpi-zuhaitz berdinak\n" +" -h, --highlight-all nabarmentu uneko prozesuak eta honen aurrekoak\n" +" -H PID,\n" +" --highlight-pid=PID nabarmendu \"pid\" prozesua eta honen aurrekoak\n" +" -G, --vt100 erabili VT100 karaktereak\n" +" -l, --long ez moztu lerro luzeak\n" +" -n, --numeric-sort sailkatu irteera PIDaren arabera PID\n" +" -p, --show-pids erakutsi PIDak; -c erabiltzea esan nahi du\n" +" -u, --uid-changes erakutsi uid transizioak\n" +" -U, --unicode erabili UTF-8 (Unicode) lerro marrazketa karaktereak\n" +" -V, --version erakutsi bertsio informazioa\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z SELinux segurtasun kontestuak bistaratu\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID zein PID-etan hasi, lehenetsia 1 (init)\n" +" ERABILTZAILEA erakutsi erabiltzaile honen zuahitz prozesuen adarrak\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM ez dago ezarrita\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Ezin dira terminalaren gaitasunak lortu\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Ez dago honelako erabiltzaile izenik: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Ez da prozesurik aurkitu.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Sakatu 'return' itxitzeko\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: seinale ezezaguna; %s -l seinaleak zerrendatu.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Erabilera: pidof [ -eg ] IZENA ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e izen oso luzeentzat berdin-berdin idaztea behar da;\n" +#~ " jauzi komandoa-lerroa eskuragarri ez badago\n" +#~ " -g erakutsi prozesu taldearen IDa prozesuearenaren ordez\n" +#~ " -V bertsioaren informazioa bistaratu\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger eta Craig Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "Ezin duzu muntai eta muntai puntu banderak batera erabili" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Ezin da %s muntai puntua identifikatu: %s\n" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Ezin da /etc/mtab ireki: %s\n" + +#~ msgid "MAX_DEPTH not big enough.\n" +#~ msgstr "MAX_DEPTH ez da behar bezain handia\n" + +#~ msgid "%s: SID (%s) must be numeric\n" +#~ msgstr "%s: SIDak (%s) zenbakia izan behar du\n" + +#~ msgid "-4 flag used but proc file %s is not readable\n" +#~ msgstr "" +#~ "-4 bandera erabili da, baina %s proc fitxategia ez da irakurgarria\n" + +#~ msgid "-6 flag used but proc file %s is not readable\n" +#~ msgstr "" +#~ "-6 bandera erabili da, baina %s proc fitxategia ez da irakurgarria\n" + +#~ msgid "kill %d" +#~ msgstr "%d hil" + +#~ msgid "No automatic removal. Please use umount %s\n" +#~ msgstr "Ezin da automatikoki kendu. Mesedez erabili umount %s\n" + +#~ msgid "No automatic removal. Please use swapoff %s\n" +#~ msgstr "Ezin da automatikoki kendu. Mesedez erabili swapoff %s\n" + +#~ msgid "Internal error (type %d)\n" +#~ msgstr "barne-errorea (%d moeta)\n" + +#~ msgid "kernel mount " +#~ msgstr "kernel mount " + +#~ msgid "kernel loop " +#~ msgstr "kernel loop " + +#~ msgid "kernel swap " +#~ msgstr "kernel swap " + +#~ msgid "ignoring -m in name space \"%s\"\n" +#~ msgstr "-m ignoratzen \"%s\" izen tartean\n" + +#~ msgid "" +#~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +#~ msgstr "" +#~ "erabilera: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -" +#~ "u ]\n" + +#~ msgid " [ -A | -G | -U ] [ pid | user]\n" +#~ msgstr " [ -A | -G | -U ] [ pid | erabiltzailea]\n" + +#~ msgid "" +#~ " pstree -V\n" +#~ "\n" +#~ msgstr "" +#~ " pstree -V\n" +#~ "\n" + +#~ msgid " -a show command line arguments\n" +#~ msgstr " -a erakutsi komando lerro argumentoak\n" + +#~ msgid " -A use ASCII line drawing characters\n" +#~ msgstr " -A erabili ASCII karaktereak lerroak marrazteko\n" + +#~ msgid " -c don't compact identical subtrees\n" +#~ msgstr " -c ez trinkotu azpi-zuahitz berdinak\n" + +#~ msgid " -h highlight current process and its ancestors\n" +#~ msgstr " -h nabarmendu uneko prozesuak eta honen aurrekoak\n" + +#~ msgid " -H pid highlight process \"pid\" and its ancestors\n" +#~ msgstr " -H pid nabarmendu \"pid\" prozesua eta honen aurrekoak\n" + +#~ msgid " -G use VT100 line drawing characters\n" +#~ msgstr " -G erabili VT100 karaktereak lerroak marrazteko\n" + +#~ msgid " -l don't truncate long lines\n" +#~ msgstr " -l ez moztu lerro luzeak\n" + +#~ msgid " -n sort output by PID\n" +#~ msgstr " -n sailkatu irteera PIDaren arabera\n" + +#~ msgid " -p show PIDs; implies -c\n" +#~ msgstr " -p erakutsi PIDak; -c erabiltzea suposatzen du\n" + +#~ msgid " -u show uid transitions\n" +#~ msgstr " -u erakutsi uid trantsizioak\n" + +#~ msgid " -s show Flask SIDs\n" +#~ msgstr " -s erakutsi SIDs flaskoak\n" + +#~ msgid " -U use UTF-8 (Unicode)) line drawing characters\n" +#~ msgstr " -U erabili UTF-8 (Unicode)) lerro karaktereak marrazteko\n" + +#~ msgid " -V display version information\n" +#~ msgstr " -V bertsioari buruzko informazioa pantailaratu\n" + +#~ msgid " pid start at pid, default 1 (init))\n" +#~ msgstr " pid hasi pid hontan, lehenetsitakoa 1 (init))\n" + +#~ msgid "" +#~ " user show only trees rooted at processes of that user\n" +#~ "\n" +#~ msgstr "" +#~ " user erakutsi erabiltzaile honen prozesuen zuahitzak\n" +#~ "\n" + +#~ msgid "pstree comes with ABSOLUTELY NO WARRANTY.\n" +#~ msgstr "pstree-k ez du INONGO BERMERIK.\n" + +#~ msgid "" +#~ "This is free software, and you are welcome to redistribute it under the " +#~ "terms\n" +#~ msgstr "" +#~ "Software librea da, eta berriro bana daiteke GNU Lizentzia Publiko " +#~ "Orokorrak\n" +#~ "ezarritako baldintzak betez.\n" + +#~ msgid "of the GNU General Public License.\n" +#~ msgstr "GNU General Public License lizentziapean.\n" + +#~ msgid "" +#~ "For more information about these matters, see the files named COPYING.\n" +#~ msgstr "" +#~ "Gai honi buruzko informazio gehiagorako, ikusi COPYING izena duten " +#~ "fitxategiak.\n" diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000..31864f0 Binary files /dev/null and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..73b84c6 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,825 @@ +# Finnish translation for psmisc. +# Copyright © 2010, 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Lars Wirzenius , 2004. +# Jorma Karvonen , 2008-2010, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-01 14:02+0300\n" +"Last-Translator: Jorma Karvonen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Finnish\n" +"X-Poedit-Country: FINLAND\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Käyttö: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NIMI ...\n" +" fuser -l\n" +" fuser -V\n" +"Näytä mitkä prosessit käyttävät nimettyjä tiedostoja, pistokkeita tai " +"tiedostojärjestelmiä.\n" +"\n" +" -a,--all näytä myös käyttämättömät tiedostot\n" +" -i,--interactive kysy ennen kill-komennon käyttämistä (ei merkitystä " +"ilman valitsinta -k)\n" +" -k,--kill lähetä signaali kill-käskyllä prosesseille, jotka " +"käyttävät tiedostoa\n" +" -l,--list-signals näytä signaalinimien luettelo\n" +" -m,--mount näytä kaikki nimettyjä tiedostojärjestelmiä tai " +"lohkolaitteita käyttävät prosessit\n" +" -M,--ismountpoint toteuta pyyntö vain jos NIMI on liitäntäpiste\n" +" -n,--namespace SPACE etsi tästä SPACE-nimiavaruudesta (file, udp, tai " +"tcp)\n" +" -s,--silent vaimennettu toiminta\n" +" -SIGNAL lähetä muu signaali kuin SIGKILL\n" +" -u,--user näytä käyttäjätunnukset\n" +" -v,--verbose laveasti\n" +" -w,--writeonly käytä kill-käskyä vain kirjoitusoikeudella " +"varustettuihin prosesseihin\n" +" -V,--version näytä versiotiedot\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 etsi vain IPv4-pistokkeita\n" +" -6,--ipv6 etsi vain IPv6-pistokkeita\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - nollaa valitsimet\n" +"\n" +" ”udp/tcp”-nimet: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2010 Werner Almesberger ja Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc-ohjelmistolla EI EHDOTTOMASTI OLE MITÄÄN TAKUUTA.\n" +"Tämä on vapaa ohjelmisto ja saat kopioida ja levittää sitä GNU General " +"Public\n" +"License -lisenssin mukaisesti. Tiedostossa COPYING on tarkemmat tiedot.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Ei voida avata ”/proc”-hakemistoa: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Ei voida varata muistia täsmäävälle ”proc”-hakemistolle: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Määriteltyä tiedostonimeä %s ei ole olemassa.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Ei voida suorittaa stat-käskyä %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Ei voida ratkaista paikallista porttia %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Tuntematon paikallinen portti AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Ei voida avata yhteyskäytäntötiedostoa ”%s”: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Virheellinen valitsin %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Nimiavaruusvalitsin vaatii argumentin." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Virheellinen nimiavaruusnimi" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Voit käyttää tiedostoja vain ”mountpoint”-valitsimien kanssa" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Prosessimäärittelyä ei ole annettu" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "”all”-valitsinta ei voi käyttää ”silent”-valitsimen kanssa." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Ei voida etsiä ”vain IPv4”- ja ”vain IPv6”-pistokkeita samaan aikaan" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s KÄYTTÄJÄ PID ACCESS KÄSKY\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(tuntematon)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Ei voida suorittaa stat-käskyä tiedostolle %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Ei voida avata tiedostoa ”/proc/net/unix”: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "" +"Lähetä signaali prosessille %d? (y=kyllä, N=ei, ”kyllä” yleensä lopettaa " +"prosessin) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Ei voitu lähettää signaalia prosessille %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Ei voida avata verkkopistoketta.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Pistokkeen laitenumeroa ei löydy.\n" + +# Kill-käskyn käyttämä signaali on tässä SIGTERM (tunnetaan myös nimellä TERM). +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Lopeta prosessi %s(%s%d)? (y=kyllä, N=ei) " + +# Signaali on joku muu kuin SIGTERM +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "" +"Signaali prosessille %s(%s%d)? (y=kyllä, N=ei, ”kyllä” yleensä lopettaa " +"prosessin) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Ei saada UID-käyttäjätunnistetta prosessitilasta\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Virheellinen säännöllinen lauseke: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: ohitetaan osittain vastaava %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Prosessille %s(%s%d) lähetetty signaali %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: ei prosesseja\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Käyttö: killall [-Z KONTEKSTI] [-u KÄYTTÄJÄ] [ -eIgiqrvw ] [ -SIGNAL ] " +"NIMI...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Käyttö: killall [VALITSIN]... [--] NIMI...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact vaatii täsmällisen vastaavuuden hyvin pitkille " +"nimille\n" +" -I,--ignore-case merkkikoosta riippumaton prosessinimi täsmää\n" +" -g,--process-group lähetä signaali kill-käskyllä prosessiryhmälle " +"prosessin sijasta\n" +" -y,--younger-than tapa prosessit, jotka ovat nuorempia kuin TIME\n" +" -o,--older-than tapa prosessit, jotka ovat vanhempia kuin TIME\n" +" -i,--interactive kysy vahvistusta ennen kill-käskyä\n" +" -l,--list luettele kaikki tunnetut signaalinimet\n" +" -q,--quiet älä tulosta valituksia\n" +" -r,--regexp tulkitse NIMI laajennettuna säännöllisenä " +"lausekkeena\n" +" -s,--signal SIGNAALI lähetä tämä SIGNAALI eikä SIGTERM\n" +" -u,--user KÄYTTÄJÄ lähetä signaali kill-käskyllä vain prosesseille, " +"joita suoritetaan KÄYTTÄJÄnä\n" +" -v,--verbose ilmoita, jos signaalin lähetys onnistui\n" +" -V,--version näytä versiotiedot\n" +" -w,--wait odota prosessien loppumista\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP lähetä signaali kill-käskyllä vain prosesseille, " +"joilla on konteksti\n" +" (tämän on oltava muiden argumenttien edellä)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2012 Werner Almesberger ja Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Virheellinen aikamuoto" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Ei löydy käyttäjää %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Virheellinen säännöllinen lauseke: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Suurin sallittu määrä nimiä on %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s-kohteesta puuttuu prosessirivit (ei ole liitetty?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Virhe liityttäessä pid-tunnukseen %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Käyttö: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 tuloste puhtaina 8-bittisinä virtoina.\n" +" -n älä näytä lukemisia ja kirjoittamisia fd-otsakkeista.\n" +" -c kurkista myös kaikkien tytärprosessien aikana.\n" +" -d poista tulosteesta lukemis- ja kirjoittamistoimintojen " +"kaksoiskappaleet.\n" +" -V tulostaa versiotiedot.\n" +" -h tulostaa tämän ohjeen.\n" +"\n" +" Lopeta tulostus painamalla näppäimiä CTRL-C.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Käyttö: prtstat [valitsimet] PID-prosessitunniste ...\n" +" prtstat -V\n" +"Tulosta tiedot prosesseista\n" +" -r,--raw Tietojen raakanäyttö\n" +" -V,--version Näytä versiotiedot ja poistu\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright © 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "suoritetaan" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "levätään" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "levylepo" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombi" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "jäljitetty" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "sivutetaan" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "tuntematon" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Prosessi: %-14s\t\tTila: %c (%s)\n" +" Suoritinnro: %-3d\t\tTTY: %s\tSäikeet: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Prosessi-, ryhmä- ja istuntotunnisteet\n" +" Prosessitunniste: %d\t\t Emotunniste: %d\n" +" Ryhmätunniste: %d\t\t Istuntotunniste: %d\n" +" T-ryhmätunniste: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Sivuvirheet\n" +" Tämä Prosessi (minor major): %8lu %8lu\n" +" Lapsiprosessit (minor major): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Suoritinajat\n" +" Tämä prosessi (käyttäjä järjestelmä vieras blkio): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Lapsiprosessit (käyttäjä järjestelmä vieras blkio): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Muisti\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS-raja: %s\n" +" Koodialku: %#-10lx\t\t Koodiloppu: %#-10lx\n" +" Pinoalku: %#-10lx\n" +" Pino-osoitin (ESP): %#10lx\t Käskyosoitin (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Vuorottaminen\n" +" Menettelytapa: %s\n" +" Nice: %ld \t\t RT Prioriteetti: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf kutsussa print_stat epäonnistui.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Ei ole olemassa prosessia, jonka prosessitunniste on %d.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ei kyetä avaamaan stat-tiedostoa prosessitunnisteelle %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Virheellinen valitsin" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Sinun on tarjottava vähintään yksi PID-prosessitunniste." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc ei ole liitetty, ei voi suorittaa stat-käskyä tiedostolle /proc/self/" +"stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s on tyhjä (ei liitetty?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Käyttö: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | KÄYTTÄJÄ ]\n" +" pstree -V\n" +"Näytä prosessien puu.\n" +"\n" +" -a, --arguments näytä komentoriviargumentit\n" +" -A, --ascii käytä ASCII-pseudografiikkamerkkejä\n" +" -c, --compact älä tiivistä identtisiä alipuita\n" +" -h, --highlight-all korosta nykyinen prosessi ja sen periytymislähteet\n" +" -H PID,\n" +" --highlight-pid=PID korosta tämä prosessi ja sen periytymislähteet\n" +" -g, --show-pgids näytä prosessiryhmätunnisteet; edellyttää valitsinta -" +"c\n" +" -G, --vt100 käytä VT100-pseudografiikkamerkkejä\n" +" -l, --long älä typistä pitkiä riviä\n" +" -n, --numeric-sort lajittele tulostus PID-tunnuksen mukaan\n" +" -p, --show-pids näytä PID-tunnukset; epäsuorasti -c\n" +" -s, --show-parents näyttää valitun prosessin vanhemmat\n" +" -u, --uid-changes näytä uid-siirtymät\n" +" -U, --unicode käytä UTF-8 (Unicode)-pseudografiikkamerkkejä\n" +" -V, --version näytä versiotiedot\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z näytä SELinux-turvakontekstit\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID aloita tällä PID-prosessitunnisteella; oletus on 1 (init)\n" +" USER näytä vain puita, jotka alkavat käyttäjän omistuksessa\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2009 Werner Almesberger ja Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM-signaali ei ole asetettu\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Päätteen ominaisuudet eivät ole selvillä\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Käyttäjätunnus puuttuu: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Prosesseja ei löydy.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Enter-näppäin sulkee\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: tuntematon signaali; %s -l luettelee signaalit.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Käyttö: pidof [ -eg ] NIMI...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e vaatii hyvin pitkien nimien täsmällistä vastaavuutta;\n" +#~ " ohita, jos komentorivi ei ole käytettävissä.\n" +#~ " -g näyttää prosessin ryhmätunnisteen prosessitunnisteen sijasta\n" +#~ " -V näyttää versiotiedot\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright © 1993-2005 Werner Almesberger ja Craig Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "Et voi käyttää ”mounted-” ja ”mountpoint”-lippuja yhdessä" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Ei voida suorittaa stat-käskyä mount-liitospisteelle %s: %s\n" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Ei voida avata tiedostoa ”/etc/mtab”: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Sisäinen virhe: MAX_DEPTH-vakio on liian pieni.\n" + +#~ msgid "-4 flag used but proc file %s is not readable\n" +#~ msgstr "optio -4 käytössä mutta proc-tiedosto %s ei ole luettavissa\n" + +#~ msgid "-6 flag used but proc file %s is not readable\n" +#~ msgstr "optio -6 käytössä mutta proc-tiedosto %s ei ole luettavissa\n" + +#~ msgid "kill %d" +#~ msgstr "lopeta %d" + +#~ msgid "No automatic removal. Please use umount %s\n" +#~ msgstr "Ei automaattista poistoa. Poista liitos %s\n" + +#~ msgid "No automatic removal. Please use swapoff %s\n" +#~ msgstr "Ei automaattista poistoa. Käytä swapoff %s\n" + +#~ msgid "Internal error (type %d)\n" +#~ msgstr "Sisäinen virhe (tyyppiä %d)\n" + +#~ msgid "kernel mount " +#~ msgstr "kernel mount " + +#~ msgid "kernel loop " +#~ msgstr "kernel loop " + +#~ msgid "kernel swap " +#~ msgstr "kernel swap " + +#~ msgid "ignoring -m in name space \"%s\"\n" +#~ msgstr "optio -m merkityksetön nimiavaruudessa ”%s”\n" + +#~ msgid "" +#~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +#~ msgstr "" +#~ "käyttö: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" + +#~ msgid " [ -A | -G | -U ] [ pid | user]\n" +#~ msgstr "" +#~ " [ -A | -G | -U ] [ prosessitunniste | käyttäjätunnus]\n" + +#~ msgid "" +#~ " pstree -V\n" +#~ "\n" +#~ msgstr "" +#~ " pstree -V\n" +#~ "\n" + +#~ msgid " -a show command line arguments\n" +#~ msgstr " -a näytä komentoriviparametrit\n" + +#~ msgid " -A use ASCII line drawing characters\n" +#~ msgstr " -A käytä ASCII-merkkejä viivanpiirtoon\n" + +#~ msgid " -c don't compact identical subtrees\n" +#~ msgstr " -c älä yhdistä samanlaisia alipuita\n" + +#~ msgid " -h highlight current process and its ancestors\n" +#~ msgstr " -h merkitse nykyinen prosessi ja sen esi-isät\n" + +#~ msgid " -H pid highlight process \"pid\" and its ancestors\n" +#~ msgstr " -H pid merkitse prosessi ”pid” ja sen esi-isät\n" + +#~ msgid " -G use VT100 line drawing characters\n" +#~ msgstr " -G käytä VT100-merkkejä viivanpiirtoon\n" + +#~ msgid " -l don't truncate long lines\n" +#~ msgstr " -l älä katko pitkiä rivejä\n" + +#~ msgid " -n sort output by PID\n" +#~ msgstr " -n järjestä tuloste prosessitunnisteen mukaan\n" + +#~ msgid " -p show PIDs; implies -c\n" +#~ msgstr " -p näytä prosessitunnisteet; myös -c menee päälle\n" + +#~ msgid " -u show uid transitions\n" +#~ msgstr " -u näytä käyttäjätunnusten vaihtumiset\n" + +#~ msgid " -s show Flask SIDs\n" +#~ msgstr " -s näytä Flask SID -tunnisteet\n" + +#~ msgid " -U use UTF-8 (Unicode)) line drawing characters\n" +#~ msgstr " -U käytä UTF-8 (Unicode)) -merkkejä viivanpiirtoon\n" + +#~ msgid " -V display version information\n" +#~ msgstr " -V näytä versio\n" + +#~ msgid " pid start at pid, default 1 (init))\n" +#~ msgstr " pid aloita prosessista pid, oletuksena 1 (init-prosessi))\n" + +#~ msgid "pstree comes with ABSOLUTELY NO WARRANTY.\n" +#~ msgstr "pstree:llä ei ole mitään takuuta.\n" + +#~ msgid "" +#~ "This is free software, and you are welcome to redistribute it under the " +#~ "terms\n" +#~ msgstr "" +#~ "Tämä vapaa ohjelmisto ja saat kopioida ja levittää sitä GNU General " +#~ "Public\n" + +#~ msgid "of the GNU General Public License.\n" +#~ msgstr "" +#~ "License -lisenssin mukaisesti. Tiedostossa COPYING on tarkemmat tiedot.\n" + +#~ msgid "" +#~ "For more information about these matters, see the files named COPYING.\n" +#~ msgstr "Tiedostossa COPYING on tarkemmat tiedot.\n" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000..6b5a6a3 Binary files /dev/null and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..667e92f --- /dev/null +++ b/po/fr.po @@ -0,0 +1,704 @@ +# French translation of PSmisc messages. +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Marc Léger , 2001. +# Benno Schulenberg , 2007. +# Frédéric Marchal , 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc-22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-08-31 22:39+0200\n" +"Last-Translator: Frédéric Marchal \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Utilisation : fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n ESPACE] [-k [-i] [-" +"SIGNAL]] NOM...\n" +" fuser -l\n" +" fuser -V\n" +"Affiche les processus utilisant les fichiers, sockets ou systèmes de " +"fichiers nommés.\n" +"\n" +" -a,--all montre les fichiers inutilisés\n" +" -i,--interactive demande avant de fermer un processus (ignoré sans -" +"k)\n" +" -k,--kill ferme les processus accédant au fichier spécifié\n" +" -l,--list-signals liste les noms des signaux\n" +" -m,--mount affiche les processus utilisant les systèmes de " +"fichiers\n" +" ou les périphériques blocs spécifiés\n" +" -M,--ismountpoint exécute la requête seulement si NOM est un point de " +"montage\n" +" -n,--namespace ESPACE cherche dans l'espace de noms spécifiés (file, udp " +"ou tcp)\n" +" -s,--silent mode silencieux\n" +" -SIGNAL envoie ce signal au lieu de SIGKILL\n" +" -u,--user affiche la liste des utilisateurs\n" +" -v,--verbose mode bavard\n" +" -w,--writeonly ferme uniquement les processus avec la permission en " +"écriture\n" +" -V,--version affiche des informations sur la version\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 cherche des sockets IPv4 seulement\n" +" -6,--ipv6 cherche des sockets IPv6 seulement\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - réinitialise les options\n" +"\n" +" noms udp/tcp: [port_local][,[hôte_distant][,[port_distant]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger et Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc ne fait l'objet d'AUCUNE GARANTIE.\n" +"C'est un logiciel libre, et vous pouvez le redistribuer\n" +"en respectant les termes de la licence GNU General Public License.\n" +"Pour plus de précisions à ce sujet, voir les fichiers nommés COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Impossible d'ouvrir le répertoire /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Impossible d'allouer de la mémoire au processus correspondant: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Le nom de fichier %s n'existe pas.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Impossible d'obtenir les stat de %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Ne peut résoudre le port local %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Port local AF inconnu %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Impossible d'ouvrir le fichier protocole «%s»: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Option %s incorrecte\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "L'option «--namespace» requiert un paramètre." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Paramètre incorrect pour «--namespace»" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" +"Vous ne pouvez utiliser que des fichiers avec les options de point de montage" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Aucune spécification de processus donnée" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "l'option «--all» ne peut être utilisée avec l'option «--silent»" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Vous ne pouvez pas rechercher simultanément et exclusivement les sockets " +"IPv4 et IPv6" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s UTIL. PID ACCÈS COMMANDE\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(inconnu)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Impossible d'obtenir les stat du fichier %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Impossible d'ouvrir /proc/net/unix : %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Tuer le processus %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Impossible de tuer le processus %d : %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Impossible d'ouvrir un socket réseau.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Impossible de trouver le numéro du périphérique des sockets\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Tuer %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Envoyer signal %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Impossible d'obtenir l'UID à partir de l'état du processus\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Mauvaise expression régulière : %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: Ignore la correspondance partielle %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Tué %s(%s%d) avec le signal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: aucun processus trouvé\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Usage : killall [-Z CONTEXTE] [-u UTILISATEUR] [ -eIgiqrvw ] [ -SIGNAL ] " +"NOM...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Usage : killall [OPTION]... [--] NOM...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact requiert une concordance parfaite des noms très " +"longs\n" +" -I,--ignore-case recherche en ignorant la casse\n" +" -g,--process-group tue le groupe associé au programme au lieu de celui-" +"ci\n" +" -y,--younger-than tue les programmes créés avant HEURE\n" +" -o,--older-than tue les programmes créés après HEURE\n" +" -i,--interactive demande une confirmation avant de tuer\n" +" -l,--list affiche tous les noms de signaux connus\n" +" -q,--quiet n'affiche pas les remarques\n" +" -r,--regexp interprète NOM comme une expression régulière " +"étendue\n" +" -s,--signal SIGNAL envoie ce signal au lieu de SIGTERM\n" +" -u,--user UTILISATEUR ne tue que le(s) programme(s) utilisé(s) par " +"UTILISATEUR\n" +" -v,--verbose informe si le signal a été correctement envoyé\n" +" -V,--version affiche les informations sur la version\n" +" -w,--wait attend que les programmes s'arrêtent\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP ferme seulement le(s) processus ayant l'argument " +"context\n" +" (doit précéder les autres arguments)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger et Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Format de temps incorrect" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Utilisateur %s introuvable\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Mauvaise expression régulière : %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Le nombre maximum de noms est %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s n'a aucune entrée de processus (pas monté ?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Erreur lors de l'attachement au pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 écrit des caractères sur 8 bits dans la sortie.\n" +" -n n'affiche pas les lectures/écritures dans les en-têtes fd.\n" +" -c examine également chaque nouveau processus fils.\n" +" -d ignore les lectures/écritures dupliquées.\n" +" -V affiche la version.\n" +" -h affiche cet aide-mémoire.\n" +"\n" +" Appuyez sur CTRL-C pour interrompre.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Affiche les informations au sujet d'un processus\n" +" -r,--raw Affiche les informations brutes\n" +" -V,--version Affiche la version et ne fait rien d'autre\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "en cours" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "endormi" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "attente disque" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "tracé" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "demande de page" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "inconnu" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Processus: %-14s\t\tÉtat: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Processus, Groupe et ID de session\n" +" ID processus: %d\t\t ID parent: %d\n" +" ID groupe: %d\t\t ID session: %d\n" +" ID groupe T: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Erreurs de page\n" +" Ce processus (mineur majeur): %8lu %8lu\n" +" Processus fils (mineur majeur): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Temps CPU\n" +" Ce processus (utilisateur système invité blkio): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Processus fils (utilisateur système invitéà: %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Mémoire\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t Limite RSS: %s\n" +" Début code: %#-10lx\t\t Fin code: %#-10lx\n" +" Début pile: %#-10lx\n" +" Pointeur pile (ESP): %#10lx\t Pointeur inst. (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Ordonancement\n" +" Politique: %s\n" +" Courtoisie: %ld \t\t Priorité TR: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "échec de asprintf dans print_stat.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Le processus avec le pid %d n'existe pas.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Impossible d'ouvrir le fichier stat du pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Option incorrecte" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Vous devez spécifier au moins un PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc n'est pas monté, impossible d'obtenir les stat de /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s est vide (pas monté ?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | UTILISATEUR ]\n" +" pstree -V\n" +"Affiche l'arborescence des processus.\n" +"\n" +" -a, --arguments afficher les paramètres de la ligne de commande\n" +" -A, --ascii utiliser les caractères de tracé ASCII\n" +" -c, --compact ne pas grouper des branches identiques\n" +" -h, --highlight-all surligner le processus courant et ses parents\n" +" -H PID,\n" +" --highlight-pid=PID surligner le processus spécifié et ses parents\n" +" -g, --show-pgids afficher les ID des groupes du processus (implique -" +"c)\n" +" -G, --vt100 utiliser les caractères de tracé VT100\n" +" -l, --long ne pas tronquer les longues lignes\n" +" -n, --numeric-sort trier le résultat par PID\n" +" -p, --show-pids afficher les PIDs (implique -c)\n" +" -s, --show-parents afficher les parents du processus sélectionné\n" +" -u, --uid-changes montrer les transitions de uid\n" +" -U, --unicode utiliser les caractères de tracé UTF-8 (Unicode)\n" +" -V, --version afficher les informations sur la version\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show montrer les contextes de sécurité SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID commence à ce PID; le défaut est 1 (init)\n" +" USER montre seulement les arbres nichés aux processus de cet " +"utilisateur\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger et Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM n'est pas défini\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Impossible d'obtenir les spécifications du terminal\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Aucun utilisateur portant ce nom: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Aucun processus trouvé.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Appuyez sur la touche Entrée pour fermer\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: signal inconnu; %s -l liste les signaux.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Usage : pidof [ -eg ] NOM...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e requiert une concordance parfaite des noms très longs;\n" +#~ " sauter si la ligne de commande est indisponible\n" +#~ " -g montre l'ID du groupe associé au lieu de celui du programme\n" +#~ " -V affiche les informations sur la version\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger et Craig Small\n" +#~ "\n" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000..ca67cdc Binary files /dev/null and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..0410d7a --- /dev/null +++ b/po/hr.po @@ -0,0 +1,555 @@ +# Translation of psmisc to Croatian. +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Tomislav Krznar , 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.17rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-08-28 11:11+0200\n" +"Last-Translator: Tomislav Krznar \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.4\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger i Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Ne mogu otvoriti direktorij /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Navedena datoteka %s ne postoji.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Ne mogu izvrÅ¡iti stat %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Ne mogu odrediti lokalni port %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Nepoznati lokalni port AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Neispravna opcija %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(nepoznato)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Ne mogu izvrÅ¡iti stat na datoteci %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Ne mogu otvoriti /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "" + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Ne mogu otvoriti mrežnu utičnicu.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Ne mogu pronaći broj uređaja utičnice.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "" + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "" + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Ne mogu dohvatiti UID iz stanja procesa\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Neispravan regularni izraz: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "preskačem djelomično podudaranje %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: proces nije pronađen\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger i Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Neispravan vremenski oblik" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Ne mogu pronaći korisnika %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Neispravan regularni izraz: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Najveći broj imena je %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s je prazan (nije montiran?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "GreÅ¡ka pridruživanja pid-u %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "pokrenut" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombi" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "praćen" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "straničenje" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "nepoznato" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Proces s pid-om %d ne postoji.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Neispravna opcija" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Morate navesti barem jedan PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc nije montiran, ne mogu izvrÅ¡iti stat /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s je prazan (nije montiran?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger i Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM nije postavljen\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Ne mogu dohvatiti mogućnosti terminala\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Nema takvog korisnika: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nisu pronađeni procesi.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Pritisnite return za zatvaranje\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: nepoznat signal; %s -l ispisuje signale.\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger i Craig Small\n" +#~ "\n" diff --git a/po/hu.gmo b/po/hu.gmo new file mode 100644 index 0000000..29f991e Binary files /dev/null and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..fb4001c --- /dev/null +++ b/po/hu.po @@ -0,0 +1,669 @@ +# Hungarian translation of psmisc +# Copyright (C) 2006, 2007, 2009, 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Emese Kovacs , 2006. +# Gabor Kelemen , 2006, 2007, 2009, 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-16 13:22+0200\n" +"Last-Translator: Gabor Kelemen \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Használat: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n NÉVTÉR] [-k [-i] [-" +"SZIGNÁL]] NÉV...\n" +" fuser -l\n" +" fuser -V\n" +"Megjeleníti a megnevezett fájlokat, foglalatokat vagy fájlrendszereket " +"használó\n" +"folyamatokat.\n" +"\n" +" -a,--all a nem használt fájlok is jelenjenek meg\n" +" -i,--interactive kérdés kilövés előtt (a -k nélkül figyelmen kívül " +"marad)\n" +" -k,--kill a megnevezett fájlokhoz hozzáférő folyamatok " +"kilövése\n" +" -l,--list-signals elérhető szignálnevek felsorolása\n" +" -m,--mount a megnevezett fájlrendszereket vagy blokkeszközöket\n" +" használó összes folyamat megjelenítése\n" +" -M,--ismountpoint kérés teljesítése csak ha a NÉV egy csatolási pont\n" +" -n,--namespace NÉVTÉR keresés ebben a névtérben (file, udp, vagy tcp)\n" +" -s,--silent néma működés\n" +" -SZIGNÁL ezen szignál elküldése a SIGKILL helyett\n" +" -u,--user felhasználói azonosítók megjelenítése\n" +" -v,--verbose részletes kimenet\n" +" -w,--writeonly csak írási hozzáféréssel rendelkező folyamatok " +"kilövése\n" +" -V,--version verzióinformációk megjelenítése\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 csak IPv4 foglalatok keresése\n" +" -6,--ipv6 csak IPv6 foglalatok keresése\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - kapcsolók visszaállítása\n" +"\n" +" udp/tcp nevek: [helyi_port][,[távoli_gép][,[távoli_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger és Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"A PSmisc csomagra nem vonatkozik ABSZOLÚT SEMMILYEN GARANCIA\n" +"Ez egy szabad szoftver, a GNU General Public License feltételei mellett\n" +"bármikor továbbíthatja, a részletekért lásd a COPYING fájlt.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "A /proc könyvtár nem nyitható meg: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Nem foglalható memória az illeszkedő folyamat részére: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "A megadott %s fájlnév nem létezik.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "%s nem érhető el: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "A(z) %s helyi port nem oldható fel: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Ismeretlen helyi port AF: %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Nem nyitható meg a(z) \"%s\" protokollfájl: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: érvénytelen kapcsoló: %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "A névtér kapcsoló argumentumot igényel." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Érvénytelen névtérnév" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Fájlok csak csatolási pont kapcsolókkal használhatók" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Nincs megadva folyamatmeghatározás" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "az összes kapcsoló nem használható a néma kapcsolóval." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Nem lehet egyszerre csak IPv4 és csak IPv6 foglalatokat keresni" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(ismeretlen)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "A(z) %s fájl nem érhető el: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "A /proc/net/unix könyvtár nem nyitható meg: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Kilövi a(z) %d folyamatot? (i/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "A(z) %d folymat kilövése nem sikerült: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Nem nyitható meg hálózati foglalat\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Nem található a foglalat eszközszáma.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Kilövi ezt: %s(%s%d) ? (i/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Elküldi a(z) %s(%s%d) szignált? (i/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" +"killall: Nem kérhető le a felhasználói azonosító a folyamat állapotából\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Hibás reguláris kifejezés: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: %s(%d) részleges találat átlépése\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) kilőve a(z) %d szignállal\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: nem található folyamat\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Használat: killall [-Z KONTEXTUS] [-u FELHASZNÁLÓ] [ -eIgiqrvw ] [ -" +"SZIGNÁL ] NÉV...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Használat: killall [KAPCSOLÓ]... [--] NÉV...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact megköveteli a pontos egyezést nagyon hosszú nevek " +"esetén;\n" +" -I,--ignore-case a folyamatnév-illesztés ne legyen kis- és\n" +" nagybetűérzékeny\n" +" -g,--process-group folyamatcsoport kilövése folyamat helyett\n" +" -y,--younger-than az IDŐNÉL fiatalabb folyamatok kilövése\n" +" -o,--older-than az IDŐNÉL öregebb folyamatok kilövése\n" +" -i,--interactive megerősítés kérése kilövés előtt\n" +" -l,--list az összes ismert szignálnév felsorolása\n" +" -q,--quiet ne kérdezzen\n" +" -r,--regexp a NÉV értelmezése kiterjesztett reguláris " +"kifejezésként\n" +" -s,--signal SZIGNÁL ezen szignál elküldése a SIGTERM helyett\n" +" -u,--user FELHASZNÁLÓ csak a FELHASZNÁLÓ nevében futó folyamatok " +"kilövése\n" +" -v,--verbose értesítés, ha a szignál küldése sikeres\n" +" -V,--version verzióinformációk megjelenítése\n" +" -w,--wait várja meg, amíg a folyamatok meghalnak\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP csak a kontextussal rendelkező folyamatok kilövése\n" +" (meg kell előznie az egyéb argumentumokat)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger és Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Érvénytelen időformátum" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "A(z) %s felhasználó nem található\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Hibás reguláris kifejezés: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: A nevek maximális száma %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s nem tartalmaz folyamatbejegyzéseket (nincs csatolva?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Hiba a csatlakozás közben a(z) %i folyamatazonosítóhoz\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Használat: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 8 bites tiszta adatfolyamok kiírása.\n" +" -n ne jelenítse meg az írás/olvasást az fd fejlécekből.\n" +" -c új gyermekfolyamatok megjelenítése.\n" +" -d többszörös olvasások/írások eltávolítása a kimenetből.\n" +" -V verzióinformációk kiírása.\n" +" -h ezen súgó kiírása.\n" +"\n" +" A CTRL-C segítségével megszakítható a kimenet.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Használat: prtstat [kapcsolók] PID ...\n" +" prtstat -V\n" +"Információk kiírása egy folyamatról\n" +" -r,--raw Az információk nyers megjelenítése\n" +" -V,--version Verzióinformációk kiírása és kilépés\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "fut" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "alszik" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "lemez alszik" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombi" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "követett" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "lapoz" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "ismeretlen" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Folyamat: %-14s\t\tÁllapot: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tSzálak: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Folyamat, csoport és munkamenet-azonosítók\n" +" Folyamat az.: %d\t\t Szülő az.: %d\n" +" Csoport az.: %d\t\t M.menet az.: %d\n" +" T Csoport az.: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Laphibák\n" +" Ez a folyamat (minor major): %8lu %8lu\n" +" Gyermekfolyamatok (minor major): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU idők\n" +" Ez a folyamat (felh. rendszer vendég blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Gyermekfolyamatok (felh. rendszer vendég ): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memória\n" +" Vméret: %-10s\n" +" RSS: %-10s \t\t RSS korlát: %s\n" +" Kód kezdete: %#-10lx\t\t Kód vége: %#-10lx\n" +" Verem kezdete: %#-10lx\n" +" Veremmutató (ESP): %#10lx\t Utasításmutató (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Ütemezés\n" +" Irányelv: %s\n" +" Nice: %ld \t\t RT prioritás: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "az asprintf a print_stat hívásban sikertelen.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Nem létezik %d PID-ű folyamat.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Nem érhető el a fájl a(z) %d (%s) PID-hez\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Érvénytelen kapcsoló" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Legalább egy PID-et meg kell adnia." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "a /proc nincs csatolva, nem érhető el a /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "a(z) %s üres (nincs csatlakoztatva?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Használat: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ]\n" +" [ -u ] [ -A | -G | -U ] [ PID | FELHASZNÁLÓ ]\n" +" pstree -V\n" +"Megjeleníti a folyamatok fáját.\n" +"\n" +" -a, --arguments parancssori argumentumok megjelenítése\n" +" -A, --ascii ASCII sorrajzoló karakterek használata\n" +" -c, --compact azonos részfákat ne tömörítse\n" +" -h, --highlight-all az aktuális folyamat és őseinek kiemelése\n" +" -H PID \n" +" --highlight-pid=PID az adott folyamat és őseinek kiemelése\n" +" -g, --show-pgids folyamatcsoport-azonosító megjelenítése,\n" +" magába foglalja a -c kapcsolót\n" +" -G, --vt100 VT100 sorrajzoló karakterek használata\n" +" -l, --long ne csonkítsa a hoszú sorokat\n" +" -n, --numeric-sort kimenet rendezése PID szerint\n" +" -p, --show-pids a PID-ek megjelenítése; magába foglalja a -c " +"kapcsolót\n" +" -u, --uid-changes az uid átmenetek megjelenítése\n" +" -U, --unicode UTF-8 (Unicode) sorrajzoló karakterek használata\n" +" -V, --version verzióinformációk megjelenítése\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show a SELinux biztonsági kontextusok megjelenítése\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID kezdés ezzel a PID-del; az alapértelmezés az 1 (init)\n" +" FELHASZNÁLÓ csak az adott felhasználó folyamataiból kiinduló fák\n" +" megjelenítése\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger és Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "A TERM nincs beállítva\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "A terminál képességei nem kérhetők le\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Nincs ilyen felhasználónév: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nem találhatók folyamatok.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "A bezáráshoz nyomj entert\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: ismeretlen szignál; a %s -l felsorolja a szignálokat.\n" diff --git a/po/id.gmo b/po/id.gmo new file mode 100644 index 0000000..901d1d3 Binary files /dev/null and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..ee69ed1 --- /dev/null +++ b/po/id.po @@ -0,0 +1,703 @@ +# Pesan bahasa indonesia untuk psmisc. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Arif E. Nugroho , 2008, 2009, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.11-pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2010-03-28 19:30+0700\n" +"Last-Translator: Arif E. Nugroho \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Penggunaan: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n RUANG] [-k [-i] [-" +"SIGNAL]] NAMA...\n" +" fuser -l\n" +" fuser -V\n" +"Tampilkan proses yang menggunakan nama berkas, socket, atau sistem berkas.\n" +"\n" +" -a tampilkan berkas yang tidak digunakan juga\n" +" -c sama seperti -m (untuk kompabilitas POSIX)\n" +" -f secara diam diabaikan (untuk kompabilitas POSIX)\n" +" -i tanya sebelum menghentikan (abaikan tanpa -k)\n" +" -k hentikan proses yang mengakses berkas bernama\n" +" -l daftar nama sinyal yang tersedia\n" +" -m tampilkan seluruh proses menggunakan sistem berkas " +"bernama\n" +" -M,--ismountpoint penuhi permintaan hanya jika NAMA adalah sebuah " +"titik pemasangan\n" +" -n RUANG cari di ruang nama ini (berkas, udp, atau tcp)\n" +" -s beroperasi secara sunyi\n" +" -SIGNAL kirim sinyal ini daripada SIGKILL\n" +" -u tampilkan ID pengguna\n" +" -v keluaran ramai\n" +" -V tampilkan informasi versi\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 cari di socket IPv4 saja\n" +" -6,--ipv6 cari di socket IPpv6 saja\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - pilihan reset\n" +"\n" +" nama udp/tcp: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Hak Cipta (C) 1993-2010 Werner Almesberger dan Craid Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc datang dengan SECARA ABSOLUT TIDAK ADA GARANSI.\n" +"Ini adalah aplikasi bebas, anda diperbolehkan untuk meredistribusikannya " +"dibawah\n" +"ketentuan dari GNU General Public License.\n" +"Untuk informasi mengenai masalah ini, lihat berkas bernama COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Tidak dapat membuka direktori /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Tidak dapat mengalokasikan memori untuk proc yang sesuai: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Nama berkas yang dispesifikasikan %s tidak ada.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Tidak dapat memperoleh statistik %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Tidak dapat meresolf port lokal %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Port lokal AF %d tidak diketahui\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Tidak dapat membuka berkas protokol \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Pilihan %s tidak valid\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Pilihan nama ruang membutuhkan sebuah argumen." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Nama nama-ruang tidak valid" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Anda hanya dapat menggunakan berkas dengan pilihan titik-pemasangan" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Tidak ada spesifikasi proses yang diberikan" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "semua pilihan tidak dapat digunakan dengan pilihan silent." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Anda tidak dapat mencari hanya untuk IPv4 dan hanya untuk IPv6 socket di " +"waktu yang sama" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s PENGGUNA PID AKSES PERINTAH\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(tidak diketahui)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Tidak dapat memperoleh statistik berkas %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Tidak dapat membuka /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Bunuh proses %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Tidak dapat menghentikan proses %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Tidak dapat membuka sebuah socket network.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Tidak dapat menemukan nomor perangkat socket.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Bunuh %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Sinyal %s(%s%d) ? (y/N)" + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Tidak dapat memperoleh UID dari status proses\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Ekspresi regular buruk: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "melewatkan pencocokan bagian %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Terhenti %s(%s%d) dengan sinyal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: tidak ada proses yang ditemukan\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Penggunaan: killall [-Z KONTEKS] [-u PENGGUNA] [-eIgiqrvw ] [ -SIGNAL ] " +"NAMA...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Penggunaan: killall [OPSI]... [--] NAMA...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact membutuhkan pencocokan tepat untuk setiap nama " +"panjang\n" +" -I,--ignore-case pencocokan nama proses tidak memperhatikan besar " +"huruf\n" +" -g,--process-group hentikan proses grup daripada proses\n" +" -y,--younger-than hentikan proses lebih muda dari WAKTU\n" +" -o,--older-than hentikan proses lebih tua dari WAKTU\n" +" -i,--interactive tanya untuk konfirmasi sebelum menghentikan\n" +" -l,--list daftar seluruh nama sinyal yang diketahui\n" +" -q,--quiet jangan tampilkan komplain\n" +" -r,--regexp interpretasikan NAMA sebagai sebuah ekstensi ekpresi " +"regular\n" +" -s,--signal SINYAL kirim sinyal ini daripada SIGTERM\n" +" -u,--user PENGGUNA hentikan hanya proses yang berjalan sebagai PENGGUNA\n" +" -v,--verbose laporkan jika sinyal telah secara sukses dikirimkan\n" +" -V,--version tampilkan informasi versi\n" +" -w,--wait tunggu untuk proses untuk mati\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP hanya hentikan proses yang memiliki konteks\n" +" (harus diawali dengan argumen lain)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Hak Cipta (C) 1993-2010 Werner Almesberger dan Craid Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Format waktu tidak valid" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Tidak dapat menemukan pengguna %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Ekspresi regular buruk: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Jumlah maksimal dari nama adalah %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s adalah kosong (belum dimount ?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Error mengattach ke pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Hak Cipta (C) 2008 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Penggunaan: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 keluarkan 8 bit stream bersih.\n" +" -n jangan tampilkan baca/tulis dari header fd.\n" +" -c lihat di proses anak baru apapun juga.\n" +" -d hapus duplikasi baca/tulis dari keluaran.\n" +" -V tampilkan informasi versi.\n" +" -h tampilkan bantuan ini.\n" +"\n" +" Tekan CTRL-C untuk mengakhiri keluaran.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Penggunaan: prstat [pilihan] PID ...\n" +" prstat -V\n" +"Tampilkan informasi mengenai sebuah proses\n" +" -r,--raw tampilkan informasi secara mentah\n" +" -V,--version Tampilkan informasi versi dan keluar\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Hak Cipta (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "berjalan" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "tertidur" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "disk tidur" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "terlacak" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "paging" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "tidak diketahui" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Proses : %-14s\t\tKondisi: %c (%s)\n" +" CPU# : %-3d\t\tTTY: %s\tThreads: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Proses, Grup dan ID sesi\n" +" ID Proses : %d\t\t ID induk: %d\n" +" ID Grup : %d\t\t ID sesi : %d\n" +" ID Grup T : %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Kesalahan Page\n" +" Proses ini (minor major): %8lu %8lu\n" +" Proses anak (minor major): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Waktu CPU\n" +" Proses ini (pengguna sistem tamu blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Proses anak (pengguna sistem tamu): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memori\n" +" BesarV: %-10s\n" +" RSS: %-10s \t\t Batas RSS: %s\n" +" Awal kode: %#-10lx\t\t Akhir kode: %#-10lx\n" +" Awal stack: %#-10lx\n" +" Penunjuk stack (ESP): %#10lx\t Penunjuk instruksi (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Penjadwalan\n" +" Kebijakan: %s\n" +" Baik: %ld \t\t Prioritas RT: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf dalam print_stat gagal.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Proses dengan pid %d tidak ada.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Tidak dapat membuka statitik berkas untuk pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Pilihan tidak valid" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Anda harus menyediakan paling tidak satu PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc belum dipasang, tidak dapat memperoleh statistik /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s adalah kosong (belum dimount ?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Penggunaan: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | PENGGUNA ]\n" +" pstree -V\n" +"Tampilkan sebuah pohon proses.\n" +"\n" +" -a, --arguments tampilkan argumen baris perintah\n" +" -A, --ascii gunakan baris ASCII karakter gambar\n" +" -c, --compact jangan kompak subtree identik\n" +" -h, --highlight-all highlight proses sekarang dan pendahulunya\n" +" -H PID,\n" +" --highligh-pid=PID highlight proses ini dan pendahulunya\n" +" -G, --vt100 gunakan baris VT100 karakter gambar\n" +" -l, --long jangan potong baris panjang\n" +" -n, --numeric-sort urutkan keluaran berdasarkan PID\n" +" -p, --show-pids tampilkan PID; mengimplikasikan -c\n" +" -u, --uid-changes tampilkan perubahan uid\n" +" -U, --unicode gunakan UTF-8 (Unicode) baris karakter gambar\n" +" -V, --version tampilkan informasi versi\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z tampilkan tampilkan konteks keamanan SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID awal di PID ini; baku adalah 1 (init)\n" +" PENGGUNA tampilkan hanya proses yang berakar dari pengguna ini\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Hak Cipta (C) 1993-2009 Werner Almesberger dan Craid Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM tidak diset\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Tidka dapat memperoleh kapabilitas terminal\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Tidak ada nama pengguna seperti itu: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Tidak ada proses yang ditemukan.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Tekan Enter untuk menutup\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: sinyal tidak diketahui; %s -l daftar sinyal.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Penggunaan: pidof [ -eg ] NAMA...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e membutuhkan pencocokan yang tepat untuk setiap nama panjang;\n" +#~ " dilewatkan jika baris perintah tidak tersedia\n" +#~ " -g menampilkan proses grup ID dari pada proses ID\n" +#~ " -V tampilkan informasi versi\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Hak Cipta (C) 1993-2005 Werner Almesberger dan Craid Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "" +#~ "Anda tidak dapat menggunakan tanda terpasang dan titik-pemasangan " +#~ "bersamaan" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Tidak dapat memperoleh statistik titik pemasangan %s: %s\n" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Tidak dapat membuka /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Internal error: MAX_DEPTH tidak cukup besar.\n" diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 0000000..b26de01 --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/it.gmo b/po/it.gmo new file mode 100644 index 0000000..889b61f Binary files /dev/null and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..b857bf9 --- /dev/null +++ b/po/it.po @@ -0,0 +1,686 @@ +# Italian messages for psmisc. +# Copyright (C) 2001, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Marco Colombo , 2005, 2006, 2007, 2009, 2010. +# Daniele Pagano , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.12\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2010-08-17 10:24+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Uso: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n CONTESTO] [-k [-i] [-SEGNALE]] " +"NOME...\n" +" fuser -l\n" +" fuser -V\n" +"Mostra quali processi stanno usando un certo file, socket o filesystem.\n" +"\n" +" -a,--all mostra anche i file inutilizzati\n" +" -i,--interactive conferma prima di terminare (ignorato senza -k)\n" +" -k,--kill termina i processi che accedono al file specificato\n" +" -l,--list-signals elenca i nomi dei segnali disponibili\n" +" -m,--mount mostra tutti i processi che usano i filesystem o i\n" +" dispositivi a blocchi specificati\n" +" -M,--ismountpoint soddisfa la richiesta solo se NOME è un mount point\n" +" -n,--namespace CONTESTO cerca nel contesto specificato (file, udp, o " +"tcp)\n" +" -s,--silent opera silenziosamente\n" +" -SEGNALE invia il segnale indicato invece di SIGKILL\n" +" -u,--user mostra gli ID utente\n" +" -v,--verbose output prolisso\n" +" -V,--verion mostra le informazioni sulla versione\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 cerca solo socket IPv4\n" +" -6,--ipv6 cerca solo socket IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - reimposta le opzioni\n" +"\n" +" nomi udp/tcp: [porta locale][,[host remoto][,[porta remota]]]\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger e Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc è distribuito senza ALCUNA GARANZIA.\n" +"Questo è software libero, ed è possibile redistribuirlo secondo i termini\n" +"della GNU General Public License.\n" +"Si consulti il file COPYING per ulteriori informazioni.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Impossibile aprire la directory /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Impossibile allocare memoria per il processo corrispondente: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Il file indicato %s non esiste.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Impossibile fare stat di %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Impossibile risolvere la porta locale %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Porta locale AF %d sconosciuta\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Impossibile aprire il file di protocollo \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Opzione %s non valida\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "L'opzione di contesto richiede un argomento." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Nome di contesto non valido" + +# NdT: dato che non so come tradurre "mounpoint option", uso -m +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Con l'opzione -m si possono specificare solo file" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Nessun tipo di processo specificato" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "L'opzione -a non può essere usata con l'opzione -s." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Impossibile cercare solo socket IPv4 e solo socket IPv6 allo stesso tempo" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s UTENTE PID ACCESSO COMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(sconosciuto)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Impossibile fare stat del file %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Impossibile aprire /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Terminare il processo %d? (s/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Impossibile terminare il processo %d: %s\n" + +# FIXME +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Impossibile aprire un socket di rete.\n" + +# FIXME +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Impossibile trovare il numero di dispositivo del socket.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Terminare %s(%s%d)? (s/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Segnale %s(%s%d)? (s/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Impossibile ottenere l'UID dallo stato del processo\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Espressione regolare non valida: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "ignorata corrispondenza parziale %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Terminato %s(%s%d) con segnale %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: nessun processo trovato\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Uso: killall [-Z CONTESTO] [-u UTENTE] [ -eIgiqrvw ] [ -SEGNALE ] NOME...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Uso: killall [OPZIONE]... [--] NOME...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact richiede una corrispondenza esatta per i nomi molto " +"lunghi\n" +" -I,--ignore-case ignora maiuscole/minuscole nei nomi\n" +" -g,--process-group termina il gruppo di processi invece del processo\n" +" -y,--younger-than termina i processi più recenti di ORARIO\n" +" -o,--older-than termina i processi più vecchi di ORARIO\n" +" -i,--interactive chiede conferma prima di terminare\n" +" -l,--list elenca i nomi di segnale conosciuti\n" +" -q,--quiet opera silenziosamente\n" +" -r,--regexp interpreta NOME come un'espressione regolare estesa\n" +" -s,--signal SEGNALE invia il segnale indicato invece di SIGTERM\n" +" -u,--user UTENTE termina solo i processi eseguiti dall'UTENTE\n" +" -v,--verbose riporta se il segnale è stato inviato con successo\n" +" -V,--version mostra le informazioni sulla versione\n" +" -w,--wait aspetta la terminazione del processo\n" +"\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP termina solo i processi aventi context\n" +" (deve precedere altri argomenti)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger e Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Formato orario non valido" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Impossibile trovare l'utente %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Espressione regolare non valida: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Il massimo numero di nomi è %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s è vuoto (non montato?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Errore nel collegarsi al pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +# FIXME +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Uso: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 emetti output pulito a 8 bit\n" +" -n non mostrare letture/scritture dalle intestazioni del fd\n" +" -c peek anche i processi figli\n" +" -d rimuove dall'output le letture/scritture duplicate\n" +" -V stampa le informazioni sulla versione\n" +" -h stampa questo aiuto\n" +"\n" +" Premere CTRL-C per terminare l'output.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Uso: prtstat [opzioni] PID ...\n" +" prtstat -V\n" +"Stampa informazioni su un processo\n" +" -r,--raw Mostra informazioni grezze\n" +" -V,--version Mostra le informazioni sulla versione ed esce\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "in esecuzione" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "in attesa" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "in attesa del disco" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "tracciato" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "paging" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "sconosciuto" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Processo: %-14s\t\tStato: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" + +# FIXME +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"ID di processo, gruppo e sessione\n" +" ID Processo: %d\t\t ID Parent: %d\n" +" ID Gruppo: %d\t\tID Sessione: %d\n" +" ID Gruppo T: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Errori di pagina (page faults)\n" +" Questo processo (minore maggiore): %8lu %8lu\n" +" Processi figli (minore maggiore): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Utilizzo temporale CPU\n" +" Questo processo (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Processi figli (user system guest): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memoria\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf in print_stat non riuscito.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Il processo con pid %d non esiste.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Impossibile aprire il file di stat per il pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Opzione non valida" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Occorre indicare almeno un PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc non è montato, impossibile fare stat di /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s è vuoto (non montato?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Uso: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | UTENTE]\n" +" pstree -V\n" +"Mostra l'albero dei processi.\n" +"\n" +" -a, --arguments mostra gli argomenti della riga di comando\n" +" -A, --ascii usa caratteri grafici ASCII\n" +" -c, --compact non comprime i sottoalberi identici\n" +" -h, --highlight-all evidenzia il processo corrente e i suoi antenati\n" +" -H PID,\n" +" --higlight-pid=PID evidenzia il processo PID e i suoi antenati\n" +" -G, --vt100 usa caratteri grafici VT100\n" +" -l, --long non tronca le righe lunghe\n" +" -n, --numeric-sort ordina l'output in base al PID\n" +" -p, --show-pids mostra i PID; implica -c\n" +" -u, --uid-changes mostra le transizioni di uid\n" +" -U, --unicode usa caratteri grafici UTF-8 (Unicode)\n" +" -V, --version mostra le informazioni sulla versione\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show mostra i contesti di sicurezza SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID comincia dal pid indicato, predefinito 1 (init)\n" +" UTENTE mostra solo gli alberi con radice nei processi dell'utente\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger e Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM non è impostato\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Impossibile determinare le capacità del terminale\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Questo nome utente non esiste: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nessun processo trovato.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Premere Invio per chiudere\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: segnale sconosciuto; usare %s -l per elencare i segnali.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Uso: pidof [ -eg ] NOME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e richiede una corrispondenza esatta per i nomi molto lunghi;\n" +#~ " ignora se la riga di comando non è disponibile\n" +#~ " -g mostra l'ID del gruppo invece che l'ID del processo\n" +#~ " -V mostra le informazioni sulla versione\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger e Craig Small\n" +#~ "\n" diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000..1b4bdbe Binary files /dev/null and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..86de785 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,655 @@ +# Japanese messages for psmisc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# Goto, Masanori , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.2pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2006-03-20 10:31+0900\n" +"Last-Translator: GOTO Masanori \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"»ÈÍÑË¡: fuser [ -a | -s | -c ] [ -n SPACE ] [ -¥·¥°¥Ê¥ë ] [ -kimuv ] ̾" +"Á°...\n" +" [ - ] [ -n SPACE ] [ -¥·¥°¥Ê¥ë ] [ -kimuv ] ̾Á°...\n" +" fuser -l\n" +" fuser -V\n" +"¥Õ¥¡¥¤¥ë̾¡¦¥½¥±¥Ã¥È¡¦¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¤É¤Î¥×¥í¥»¥¹¤¬»ÈÍѤ·¤Æ¤¤¤ë¤«¤òɽ¼¨\n" +"\n" +" -a ¥×¥í¥»¥¹¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤âɽ¼¨ÂоݤȤ¹¤ë\n" +" -c -m¥ª¥×¥·¥ç¥ó¤ËƱ¤¸ (POSIX¸ß´¹À­¤Î¤¿¤á¤À¤±¤Ë¸ºß)\n" +" -f ¤Ä¤±¤Æ¤â̵»ë¤µ¤ì¤ë (POSIX¸ß´¹À­¤Î¤¿¤á¤À¤±¤Ë¸ºß)\n" +" -i kill¤¹¤ëÁ°¤Ë³Îǧ¤òµá¤á¤ë (-k¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Ê¤¤¤È¤­¤Ï̵»ë¤µ¤ì" +"¤ë)\n" +" -k »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤òkill¤¹¤ë\n" +" -l ÍøÍѲÄǽ¤Ê¥·¥°¥Ê¥ë̾¤ò¤¹¤Ù¤Æɽ¼¨¤¹¤ë\n" +" -m »ØÄê¥Õ¥¡¥¤¥ë¾å¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ëÁ´¥×¥í¥»¥¹¤òɽ¼¨¤¹" +"¤ë\n" +" -n SPACE ̾Á°¶õ´Ö¤È¤·¤ÆSPACE(file, udp, ¤Þ¤¿¤Ï tcp ¤Î¤É¤ì¤«)¤ò»ØÄꤹ" +"¤ë \n" +" -s ɽ¼¨¤òÍÞÀ©¤¹¤ë\n" +" -¥·¥°¥Ê¥ë SIGKILL¤ÎÂå¤ê¤Ë»ØÄꤷ¤¿¥·¥°¥Ê¥ë¤òÁ÷¤ë\n" +" -u ¥æ¡¼¥¶ID¤òɽ¼¨¤¹¤ë\n" +" -v ¾éĹɽ¼¨¤ò¹Ô¤¦\n" +" -V ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë\n" +" -4 IPv4¥½¥±¥Ã¥È¤Î¤ß¸¡º÷¤¹¤ë\n" +" -6 IPv6¥½¥±¥Ã¥È¤Î¤ß¸¡º÷¤¹¤ë\n" +" - ¥ê¥»¥Ã¥È¥ª¥×¥·¥ç¥ó\n" +"\n" +" udp/tcp ̾Á°: [¥í¡¼¥«¥ë¥Ý¡¼¥È][,[¥ê¥â¡¼¥È¥Û¥¹¥È][,[¥ê¥â¡¼¥È¥Ý¡¼¥È]]]\n" +"\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc¤Ï´°Á´¤Ë̵ÊݾڤǤ¹\n" +"¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£GNU°ìÈ̸ø½°ÍøÍѵöÂú·ÀÌó½ñ¤Î¾ò¹à¤Ë´ð¤Å¤¤¤Æ\n" +"ºÆÇÛÉÛ¤ò¼«Í³¤Ë¹Ô¤Ã¤Æ¤«¤Þ¤¤¤Þ¤»¤ó¡£\n" +"¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤ÏCOPYING¥Õ¥¡¥¤¥ë¤ò¤´Í÷²¼¤µ¤¤¡£\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "/proc ¥Ç¥£¥ì¥¯¥È¥ê¤ò³«¤±¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "°ìÃפ·¤¿¥×¥í¥»¥¹¤ËÂФ¹¤ë¥á¥â¥ê¤¬³ÍÆÀ¤Ç¤­¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "%s ¤òstat¤Ç¤­¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "¥í¡¼¥«¥ë¥Ý¡¼¥È %s ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "̤ÃÎ¤Î¥í¡¼¥«¥ë¥Ý¡¼¥È AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "¥×¥í¥È¥³¥ë¥Õ¥¡¥¤¥ë \"%s\" ¤¬³«¤±¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "̾Á°¶õ´Ö¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤¬É¬ÍפǤ¹" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "ÉÔÀµ¤Ê̾Á°¶õ´Ö̾" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "" +"¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¥ª¥×¥·¥ç¥ó(-m¤Þ¤¿¤Ï-c)¤È°ì½ï¤Ë»È¤¨¤ë¤Î¤Ïfile̾Á°¶õ´Ö¤Î¤ß¤Ç¤¹" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "-a¥ª¥×¥·¥ç¥ó¤Ï-s¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "-4¥ª¥×¥·¥ç¥ó¤È-6¥ª¥×¥·¥ç¥ó¤ÏƱ»þ¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó" + +#: src/fuser.c:1246 +#, fuzzy, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" +"\n" +"%*s ¥æ¡¼¥¶ PID ¥¢¥¯¥»¥¹ ¥³¥Þ¥ó¥É\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(ÉÔÌÀ)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "¥Õ¥¡¥¤¥ë¤òstat¤Ç¤­¤Þ¤»¤ó %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "/proc/net/unix ¤¬³«¤±¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "¥×¥í¥»¥¹ %d ¤òkill¤·¤Þ¤¹¤«? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "¥×¥í¥»¥¹ %d ¤ò kill ¤Ç¤­¤Þ¤»¤ó: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "¥Í¥Ã¥È¥ï¡¼¥¯¥½¥±¥Ã¥È¤¬³«¤±¤Þ¤»¤ó.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "¥½¥±¥Ã¥È¤Î¥Ç¥Ð¥¤¥¹Èֹ椬¸«¤Ä¤«¤ê¤Þ¤»¤ó.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "%s(%s%d) ¤òkill¤·¤Þ¤¹¤«? (y/N)" + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "%s(%s%d) ¤òkill¤·¤Þ¤¹¤«? (y/N)" + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "¥×¥í¥»¥¹¤Î¸½ºß¾õÂÖ¤«¤éUID¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "ÉÔÀµ¤ÊÀµµ¬É½¸½: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "Éôʬ°ìÃפò¥¹¥­¥Ã¥× %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) ¤ò¥·¥°¥Ê¥ë %d ¤Çkill¤·¤Þ¤·¤¿\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: ¤É¤Î¥×¥í¥»¥¹¤âkill¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"»ÈÍÑË¡: killall [-Z CONTEXT] [-u ¥æ¡¼¥¶¡¼] [ -eIgiqrvw ] [ -¥·¥°¥Ê¥ë ] ̾" +"Á°...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "»ÈÍÑË¡: killall [¥ª¥×¥·¥ç¥ó]... [--] ̾Á°...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact ¤È¤Æ¤âŤ¤Ì¾Á°¤ËÂФ·¤Æ´°Á´°ìÃפòÍ׵᤹¤ë\n" +" -I,--ignore-case ¥×¥í¥»¥¹Ì¾¤Î°ìÃפÏÂçʸ»ú¤Î¾®Ê¸»ú¶èÊ̤ʤ¯¹Ô¤¦\n" +" -g,--process-group ¥×¥í¥»¥¹¤ÎÂå¤ê¤Ë¥×¥í¥»¥¹¥°¥ë¡¼¥×¤Ë¥·¥°¥Ê¥ë¤òÁ÷¤ë\n" +" -i,--interactive kill ¤¹¤ëÁ°¤Ë³Îǧ¤òµá¤á¤ë\n" +" -l,--list ´ûÃΤΥ·¥°¥Ê¥ë̾¤ò¤¹¤Ù¤Æɽ¼¨¤¹¤ë\n" +" -q,--quiet kill ¤¹¤ë¥×¥í¥»¥¹¤¬¤Ê¤¤¾ì¹ç¤Ëɽ¼¨¤ò¹Ô¤ï¤Ê¤¤\n" +" -r,--regexp »ØÄꤷ¤¿Ì¾Á°¤ò³ÈÄ¥Àµµ¬É½¸½¤È¤·¤Æ²ò¼á¤¹¤ë\n" +" -s,--signal ¥·¥°¥Ê¥ë SIGTERM¤ÎÂå¤ê¤Ë»ØÄꤷ¤¿¥·¥°¥Ê¥ë¤òÁ÷¤ë\n" +" -u,--user ¥æ¡¼¥¶ »ØÄꤷ¤¿¥æ¡¼¥¶¤ÇÁö¹Ô¤¹¤ë¥×¥í¥»¥¹¤Î¤ßkill¤¹¤ë\n" +" -v,--verbose ¥·¥°¥Ê¥ë¤ÎÁ÷¿®¤ËÀ®¸ù¤·¤¿¤éÊó¹ð¤¹¤ë\n" +" -V,--version ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë\n" +" -w,--wait kill¤·¤¿¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÂÔ¤Ä\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context Àµµ¬É½¸½ ¥³¥ó¥Æ¥­¥¹¥È¤ò»ý¤Ä¥×¥í¥»¥¹¤Î¤ßkill¤¹¤ë\n" +" (¾¤Î°ú¿ô¤è¤ê¤âÁ°¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "¥æ¡¼¥¶ %s ¤òȯ¸«¤Ç¤­¤Þ¤»¤ó\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "ÉÔÀµ¤ÊÀµµ¬É½¸½: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "̾Á°¤ÎºÇÂç»ØÄê²Äǽ¿ô¤Ï %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s ¤Ï¶õ¥Ç¥£¥ì¥¯¥È¥ê (¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(ÉÔÌÀ)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s ¤Ï¶õ¥Ç¥£¥ì¥¯¥È¥ê (¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"»ÈÍÑË¡: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | ¥æ¡¼¥¶Ì¾ ]\n" +" pstree -V\n" +"¥×¥í¥»¥¹¥Ä¥ê¡¼¤òɽ¼¨¤¹¤ë¡£\n" +"\n" +" -a ¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤âɽ¼¨\n" +" -A ASCII ʸ»ú¤ò·ÓÀþɽ¼¨¤Ë»ÈÍÑ\n" +" -c Ʊ¤¸ÆâÍƤΥµ¥Ö¥Ä¥ê¡¼¤ò¤Þ¤È¤á¤Æû¤¯É½¼¨¤·¤Ê¤¤\n" +" -h ¸½ºß¤Î¥×¥í¥»¥¹¤È¤½¤ÎÀèÁÄ¤Î¥×¥í¥»¥¹¤ò¶¯Ä´É½¼¨¤¹¤ë\n" +" -H PID »ØÄê¥×¥í¥»¥¹PID¤È¤½¤ÎÀèÁÄ¤Î¥×¥í¥»¥¹¤ò¶¯Ä´É½¼¨¤¹¤ë\n" +" -G VT100 ·ÓÀþʸ»ú¤òɽ¼¨¤Ë»ÈÍÑ\n" +" -l Ť¤¹Ô¤òɽ¼¨¤·¡¢ÅÓÃæ¤ÇÂǤÁÀÚ¤ê¤Þ¤»¤ó\n" +" -n PID¤Ç¥½¡¼¥È¤·¤Æɽ¼¨\n" +" -p PID¤âɽ¼¨; -c¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ë¸ú²Ì¤ò´Þ¤ß¤Þ¤¹\n" +" -u UID¤ÎÁ«°Ü¾õ¶·¤òɽ¼¨¤¹¤ë\n" +" -U UTF-8 (Unicode) ʸ»ú¤ò·ÓÀþɽ¼¨¤Ë»ÈÍÑ\n" +" -V ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z SELinux¥»¥­¥å¥ê¥Æ¥£¥³¥ó¥Æ¥­¥¹¥È¤òɽ¼¨¤¹¤ë\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID »ØÄꤷ¤¿PID¤«¤éɽ¼¨³«»Ï¤·¤Þ¤¹; ¥Ç¥Õ¥©¥ë¥È¤Ï 1 (init)\n" +" ¥æ¡¼¥¶Ì¾ »ØÄꤷ¤¿¥æ¡¼¥¶¤È¤·¤ÆÆ°ºî¤¹¤ë¥×¥í¥»¥¹¤«¤éÇÉÀ¸¤¹¤ë¥Ä¥ê¡¼¤Î¤ßɽ¼¨\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "üËö¤Îµ¡Ç½¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "»ØÄê¥æ¡¼¥¶Ì¾¤Ï¸ºß¤·¤Þ¤»¤ó: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "¥×¥í¥»¥¹¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹¤ÈÊĤ¸¤Þ¤¹\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: ̤ÃΤΥ·¥°¥Ê¥ë; %s -l ¤Ë¤è¤Ã¤Æ¥·¥°¥Ê¥ë¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "»ÈÍÑË¡: pidof [ -eg ] ¥×¥í¥»¥¹Ì¾...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e ¤È¤Æ¤âŤ¤¥×¥í¥»¥¹Ì¾¤ËÂФ·¤Æ´°Á´°ìÃפòÍ׵᤹¤ë\n" +#~ " ¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬ÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ï³ºÅö¥×¥í¥»¥¹¤Ï¥¹¥­¥Ã¥×¤µ¤ì" +#~ "¤ë\n" +#~ " -g ¥×¥í¥»¥¹ID¤ÎÂå¤ê¤Ë¥×¥í¥»¥¹¥°¥ë¡¼¥×ID¤òɽ¼¨¤¹¤ë\n" +#~ " -V ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È %s ¤òstat¤Ç¤­¤Þ¤»¤ó: %s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "-m¥ª¥×¥·¥ç¥ó¤È-c¥ª¥×¥·¥ç¥ó¤ÏƱ»þ¤Ë¤Ï»È¤¨¤Þ¤»¤ó" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "/etc/mtab ¤¬³«¤±¤Þ¤»¤ó: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "ÆâÉô¥¨¥é¡¼: MAX_DEPTH ¤¬½½Ê¬Â礭¤¯¤¢¤ê¤Þ¤»¤ó.\n" + +#~ msgid "Cannot open protocol file \"%s\": %s" +#~ msgstr "¥×¥í¥È¥³¥ë¥Õ¥¡¥¤¥ë \"%s\" ¤¬³«¤±¤Þ¤»¤ó: %s" diff --git a/po/nb.gmo b/po/nb.gmo new file mode 100644 index 0000000..6293d6a Binary files /dev/null and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..4e8da95 --- /dev/null +++ b/po/nb.po @@ -0,0 +1,666 @@ +# Norwegian bokmål translation of psmisc 22.2pre1. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Trond Endrestøl , 2005. +# +# Send this file as an gzipped attachment to: +# translation@iro.umontreal.ca +# with the subject: +# TP-Robot PACKAGE-VERSION.TEAM.po +# +# The subject for the Norwegian bokmål translation of psmisc 22.2pre1 +# would then be: +# TP-Robot psmisc-22.2pre1.nb.po +# +# Here's the URL for the Norwegian bokmål translation team: +# http://www.iro.umontreal.ca/translation/registry.cgi?team=nb +# +# Here's the URL for the current translations of GNU bison: +# http://www.iro.umontreal.ca/translation/registry.cgi?domain=psmisc +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.2pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2006-03-07 12:01+0100\n" +"Last-Translator: Trond Endrestøl \n" +"Language-Team: Norwegian Bokmaal \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Bruksmåte: fuser [ -a | -s | -c ] [ -n ROM ] [ -SIGNALl ] [ -kimuv ] " +"NAVN ...\n" +" [ - ] [ -n ROM ] [ -SIGNAL ] [ -kimuv ] NAVN ...\n" +" fuser -l\n" +" fuser -V\n" +"\n" +"Vise hvilke prosesser som bruker de angitte filene, socketer eller " +"filsystemer.\n" +"\n" +" -a også vise ubrukte filer\n" +" -c monterte filsystemer\n" +" -f ignorert i det stille for POSIX-kompatibilitet\n" +" -i spør før dreping (ignorert uten -k)\n" +" -k drep prosesser som akserer den navngitte filen\n" +" -l vis liste over tilgjengelige signalnavn\n" +" -m vis alle prosesser som bruker de angitte monterte " +"filesystemene\n" +" -n ROM søk i det angitte navnerommet (file, udp, eller tcp)\n" +" -s stille utførelse\n" +" -SIGNAL send dette signalet i stedet for SIGKILL\n" +" -u vis bruker-IDer\n" +" -v ordrik output\n" +" -V vis programversjon\n" +" -4 søk bare blant IPv4-socketer\n" +" -6 søk bare blant IPv6-socketer\n" +" - nullstill valgene\n" +"\n" +" udp/tcp-navn: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc kommer ABSOLUTT UTEN NOEN GARANTI.\n" +"Dette er fri programvare, og du har tillatelse til å redistribuere det\n" +"under betingelsene i GNU General Public License.\n" +"For mer informasjon om dette, les filene som heter COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Kan ikke åpne /proc-katalogen: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Kan ikke allokere minne for funnet prosess: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Kan ikke kjøre stat på %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Kan ikke løse lokalport %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Ukjent lokalport AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Kan ikke åpne protokollfil «%s»: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Navneromvalget krever et argument." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Ugyldig navn på navnerom" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "Du kan bare bruke filer med monteringspunktvalget" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Ingen prosesspesifikasjon ble gitt" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "alle valg kan ikke bli brukt med stillevalget." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Du kan ikke søke etter bare IPv4- og bare IPv6-socketer samtidig" + +# Oversettelsen av denne strengen er noe vanskelig da dette er en +# tabelloverskrift som skal passe med selve tabellen. [TE, 2005-03-01] +#: src/fuser.c:1246 +#, fuzzy, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" +"\n" +"%*s BRUKER PID ACCESS KOMMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(ukjent)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Kan ikke kjøre stat på fila %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Kan ikke åpne /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Drepe prosess %d ? (j/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Kunne ikke drepe prosessen %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Kan ikke åpne en nettverkssocket.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Kan ikke finne socketens enhetsnummer.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Drepe %s(%s%d) ? (j/n) " + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Drepe %s(%s%d) ? (j/n) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Kan ikke finne UID fra prosesstatus\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Ugyldig regulært uttrykk: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "hopper over delvis treff %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Drepte %s(%s%d) med signalet %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: drepte ingen prosess\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Bruksmåte: killall [-Z kontekst] [-u bruker] [ -egiqvw ] [ -signal ] " +"navn ...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Bruksmåte: killall [VALG]... [--] navn...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact krever nøyaktig treff for veldig lange navn\n" +" -I,--ignore-case ignorerer store/små bokstaver i prosessnavn\n" +" -g,--process-group drep prosessgrupper i stedet for prosesser\n" +" -i,--interactive spør om bekreftelse før dreping\n" +" -l,--list vis alle kjente signalnavn\n" +" -q,--quiet ikke syt dersom det ikke går bra\n" +" -r,--regexp tolk NAVN som et utvidet regulært uttrykk\n" +" -s,--signal send signal i stedet for SIGTERM\n" +" -v,--verbose rapporter dersom signalet ble vellykket sendt\n" +" -V,--version vis programinformasjon\n" +" -w,--wait vent til prosessen er død\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP bare drep prosesser med kontekst\n" +" (må komme foran andre argumenter)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Kan ikke finne brukeren %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Ugyldig regulært uttrykk: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Maksimalt antall navn er %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s er tom (ikke montert?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(ukjent)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s er tom (ikke montert?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Bruksmåte: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | BRUKER ]\n" +" pstree -V\n" +"\n" +"Vis et prosesstre.\n" +"\n" +" -a vis argumentene fra kommandolinjen\n" +" -A tegn linjer med ASCII-tegn\n" +" -c ikke komprimer identiske undertrær\n" +" -h uthev nåværende prosess og dets opphav\n" +" -H PID uthev prosessen «pid» og dets opphav\n" +" -G tegn linjer med VT100-tegn\n" +" -l ikke avkort lange linjer\n" +" -n sorter output etter PID\n" +" -p vis PIDs; medfører -c\n" +" -u vis uid-overganger\n" +" -U tegn linjer med UTF-8-tegn (Unicode)\n" +" -V vis programversjon\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z vis SELinux sikkerhetskontekster\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID begynn med angitt pid, standard er 1 (init)\n" +" BRUKER bare vis trær med opphav fra prosesser tilhørende denne brukeren\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM er ikke angitt\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Kan ikke finne ut egenskapene til terminalen\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Fant ikke brukeren «%s».\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Fant ingen prosesser.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Trykk på enter for å lukke.\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: ukjent signal; %s -l angir kjente signaler.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Bruksmåte: pidof [ -eg ] navn ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e krever nøyaktig treff for veldig lange navn;\n" +#~ " hopp over dersom kommandolinjen er utilgjengelig\n" +#~ " -g vis prosessgruppe ID i stedet for prosess ID\n" +#~ " -V vis programversjon\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Kan ikke kjøre stat på monteringspunktet %s: %s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "Du kan ikke bruke montert- og monteringspunktvalgene samtidig" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Kan ikke åpne /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Intern feil: MAX_DEPTH er ikke stor nok.\n" diff --git a/po/nl.gmo b/po/nl.gmo new file mode 100644 index 0000000..d20c504 Binary files /dev/null and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..3d82100 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,694 @@ +# Dutch translations for psmisc. +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the PSmisc package. +# +# «Gehen wir mal kurz rein», sagte die Mama. +# «Aber da steht 'Baden verboten'», sagte das Töchterchen. +# Das wäre nicht so wichtig, meinte die Mama. +# «Und was wenn da eine Geheimkamera ist?», fragte das Söhnchen. +# +# Benno Schulenberg , 2004, 2005, 2006, 2007, 2010, 2012. +# Erwin Poeze , 2010. +msgid "" +msgstr "" +"Project-Id-Version: psmisc-22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-01 19:27+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Gebruik: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n NAAMSRUIMTE]\n" +" [-k [-i] [-SIGNAAL]] NAAM...\n" +" of: fuser [-l|-V]\n" +"\n" +"De processen tonen die gebruik maken van de genoemde bestanden,\n" +"sockets of bestandssystemen\n" +"\n" +" -a, --all de ongebruikte bestanden ook noemen\n" +" -i, --interactive bevestiging vragen voor afbreken (genegeerd zonder " +"-k)\n" +" -k, --kill processen afbreken die het gegeven bestand " +"gebruiken\n" +" -l, --list-signals lijst van beschikbare signalen tonen\n" +" -m, --mount alle processen tonen die het gegeven " +"bestandssysteem\n" +" of blokapparaat gebruiken\n" +" -M, --ismountpoint alleen aan verzoek voldoen als NAAM aankoppelpunt " +"is\n" +" -n, --namespace RUIMTE in gegeven naamsruimte ('file', 'udp', 'tcp') " +"zoeken\n" +" -s, --silent geen uitvoer produceren\n" +" -SIGNAAL dit signaal sturen in plaats van SIGKILL\n" +" -u, --user de gebruiker-IDs tonen\n" +" -v, --verbose uitgebreide uitvoer tonen\n" +" -V, --version de programmaversie tonen\n" +" -w,--writeonly alleen processen met schrijfrecht afbreken\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 alleen naar IPv4-sockets zoeken\n" +" -6,--ipv6 alleen naar IPv6-sockets zoeken\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - alle opties terugzetten op standaardwaarden\n" +"\n" +" tcp/udp-namen: [lokale_poort][,[gindse_host][,[gindse_poort]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger en Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc kent GEEN ENKELE GARANTIE.\n" +"Dit is vrije software en mag vrijelijk verspreid worden,\n" +"onder de voorwaarden van de GNU General Public License.\n" +"Zie voor meer informatie hierover het bestand genaamd COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Kan /proc niet openen: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Onvoldoende geheugen beschikbaar om gevonden proces te verwerken: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Opgegeven bestandsnaam %s bestaat niet.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Kan status van %s niet bepalen: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Kan lokale poort %s nergens toe herleiden: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Onbekende lokale poort AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Kan protocolbestand '%s' niet openen: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: ongeldige optie %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "De naamsruimte-optie '-n' vereist een argument" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Ongeldige naamsruimte" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Er zijn alleen bestanden toegestaan samen met aankoppelpuntopties" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Geen naam van bestand of socket opgegeven" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "Opties -a en -s gaan niet samen" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Opties -4 en -6 gaan niet samen" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s GEBRUIKER PID SOORT PROGRAMMA\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(onbekend)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Kan status van bestand %s niet bepalen: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Kan /proc/net/unix niet openen: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Proces %d afbreken? (j/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Kan proces %d niet afbreken: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Kan netwerk-socket niet openen.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Kan apparaatnummer van socket niet vinden.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Proces %s(%s%d) afbreken? (j/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Proces %s(%s%d) een signaal sturen? (j/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Kan uit processtatus geen UID bepalen\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Ongeldige reguliere expressie: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: Overgeslagen: gedeeltelijke overeenkomst %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Proces %s(%s%d) is afgebroken met signaal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: geen proces gevonden\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Gebruik: killall [-Z CONTEXT] [-egIiqrvw] [-SIGNAAL] [-u GEBRUIKER] " +"NAAM...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Gebruik: killall [-egIiqrvw] [-SIGNAAL] [-u GEBRUIKER] [--] NAAM...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" of: killall [ -l | --list ]\n" +" of: killall [ -V | --version ]\n" +"\n" +" -e,--exact zeer lange namen moeten exact overeenkomen\n" +" -I,--ignore-case verschil tussen hoofd- en kleine letters negeren\n" +" -g,--process-group een procesgroep afbreken in plaats van een proces\n" +" -y,--younger-than processen nieuwer dan TIJD afbreken\n" +" -o,--older-than processen ouder dan TIJD afbreken\n" +" -i,--interactive om bevestiging vragen alvorens af te breken\n" +" -l,--list lijst van bekende signalen tonen\n" +" -q,--quiet geen foutmeldingen geven\n" +" -r,--regexp NAAM is een uitgebreide reguliere expressie\n" +" -s,--signal SIGNAAL dit signaal sturen in plaats van SIGTERM\n" +" -u,--user GEBRUIKER alleen proces(sen) van deze gebruiker afbreken\n" +" -V,--version de programmaversie tonen\n" +" -v,--verbose melden of het signaal succesvol verstuurd is\n" +" -w,--wait wachten tot processen ook werkelijk afgebroken zijn\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP alleen processen met deze context afbreken\n" +" (dient aan andere argumenten vooraf te gaan)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger en Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Ongeldige tijdopmaak" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Kan gebruiker %s niet vinden\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Ongeldige reguliere expressie: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Het maximum aantal namen is %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s bevat geen procesitems -- misschien niet aangekoppeld?\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Fout tijdens aanhechten aan PID %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Gebruik: peekfd [-8cdn] [-Vh] [...]\n" +"\n" +" -8 8-bits-schone uitvoer produceren\n" +" -c nieuwe dochterprocessen ook bekijken\n" +" -d dubbele vermeldingen onderdrukken\n" +" -n het lezen en schrijven van descriptorkoppen niet tonen\n" +" -V de programmaversie tonen\n" +" -h deze hulptekst tonen\n" +"\n" +"Typ Ctrl-C om het programma te stoppen.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Gebruik: prtstat [-r] PID ...\n" +" of: prtstat -V\n" +"\n" +"Informatie over een proces weergeven.\n" +"\n" +" -r,--raw ruwe uitvoer van informatie\n" +" -V,--version de programmaversie tonen en stoppen\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "runt" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "slaapt" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "wacht" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "getraced" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "swappend" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "onbekend" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Proces: %-14s\t\tStatus: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tDraden: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Proces-, groeps- en sessie-IDs\n" +" Proces-ID: %d\t\t Ouder-ID: %d\n" +" Groeps-ID: %d\t\t Sessie-ID: %d\n" +" T-groeps-ID: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Page Faults\n" +" Dit proces (zacht : hard): %8lu : %8lu\n" +" Dochterprocessen (zacht : hard): %8lu : %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"CPU-tijden\n" +" Dit proces (gebruiker systeem gast blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Dochters (gebruiker systeem gast): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Geheugen\n" +" Virtuele grootte: %-10s\n" +" RSS: %-10s\t\t RSS-grens: %s\n" +" Begin van code: %#-10lx\t\t Einde van code: %#-10lx\n" +" Begin van stack: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst.Pointer (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Scheduling\n" +" Beleid: %s\n" +" Nice: %ld \t\t RT-prioriteit: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf() in print_stat() is mislukt.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Proces met PID %d bestaat niet.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Kan stat-bestand voor PID %d niet openen (%s).\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Ongeldige optie" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Er moet minstens één PID gegeven worden." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc is niet aangekoppeld, kan status van /proc/self/stat niet bepalen.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s is leeg -- misschien niet aangekoppeld?\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Gebruik: pstree [-a] [-c] [-g] [-h|-H PID] [-l] [-n] [-p] [-u]\n" +" [-A|-G|-U] [ PID | GEBRUIKER ]\n" +" of: pstree -V\n" +"\n" +"Huidige processen tonen in een boomstructuur.\n" +"\n" +" -a, --arguments argumenten van de opdrachtregel tonen\n" +" -A, --ascii ASCII-tekens voor de lijntjes gebruiken\n" +" -c, --compact identieke subbomen niet compacteren\n" +" -g, --show-pgids procesgroeps-ID's tonen (impliceert '-c')\n" +" -G, --vt100 VT100-tekens voor de lijntjes gebruiken\n" +" -h, --highlight-all huidig proces en zijn voorouders accentueren\n" +" -H PID,\n" +" --highlight-pid=PID dit proces en zijn voorouders accentueren\n" +" -l, --long lange regels niet afkappen\n" +" -n, --numeric-sort uitvoer sorteren naar PID\n" +" -p, --show-pids PIDs tonen (dit impliceert -c)\n" +" -u, --uid-changes UID-overgangen tonen\n" +" -U, --unicode Unicode-tekens (UTF-8) voor de lijntjes gebruiken\n" +" -V, --version de programmaversie tonen\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z SELinux-veiligheidscontexten tonen\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID bij dit proces-ID beginnen; standaard is 1 (init)\n" +" NAAM alleen de bomen tonen die beginnen bij processen van deze " +"gebruiker\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger en Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Omgevingsvariabele TERM heeft geen waarde.\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Kan terminalcapaciteiten niet bepalen\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Geen bestaande gebruikersnaam: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Geen processen gevonden.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Druk op Enter om af te sluiten\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "" +"Onbekend signaal: %s -- '%s -l' toont een lijst van mogelijke signalen.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Gebruik: pidof [-eg] NAAM...\n" +#~ " of: pidof -V\n" +#~ "\n" +#~ " -e zeer lange namen moeten exact overeenkomen\n" +#~ " (genegeerd als de opdrachtregel niet beschikbaar is)\n" +#~ " -g procesgroeps-ID tonen in plaats van proces-ID\n" +#~ " -V de programmaversie tonen\n" +#~ "\n" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000..7de8eaf Binary files /dev/null and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..c4c447d --- /dev/null +++ b/po/pl.po @@ -0,0 +1,665 @@ +# Polish translations for psmisc. +# Copyright (C) 2004, 2005, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Jakub Bogusz , 2003-2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-08-31 18:45+0200\n" +"Last-Translator: Jakub Bogusz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Sk³adnia: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n PRZESTRZEÑ] [-k [-i] [-" +"SYGNA£]] NAZWA...\n" +" fuser -l\n" +" fuser -V\n" +"Pokazywanie, które procesy u¿ywaj± plików, gniazd lub systemów plików\n" +"o podanych nazwach.\n" +"\n" +" -a,--all wy¶wietlenie tak¿e nie u¿ywanych plików\n" +" -i,--interactive pytanie przed zabiciem (ignorowane bez -k)\n" +" -k,--kill zabicie procesów u¿ywaj±cych podanego pliku\n" +" -l,--list-signals lista nazw sygna³ów\n" +" -m,--mount pokazanie procesów u¿ywaj±cych podanych systemów " +"plików lub urz±dzeñ\n" +" -M,--ismountpoint wykonywanie poleceñ tylko je¶li NAZWA jest punktem " +"montowania\n" +" -n,--namespace PRZ szukanie w podanej przestrzeni nazw (file, udp lub " +"tcp)\n" +" -s,--silent dzia³anie po cichu\n" +" -SYGNA£ wys³anie podanego sygna³u zamiast SIGKILL\n" +" -u,--user wy¶wietlenie identyfikatorów u¿ytkowników\n" +" -v,--verbose podanie wiêkszej ilo¶ci informacji\n" +" -w,--writeonly zabicie tylko procesów z prawem zapisu\n" +" -V,--version wy¶wietlenie informacji o wersji\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 szukanie tylko gniazd IPv4\n" +" -6,--ipv6 szukanie tylko gniazd IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - wyzerowanie opcji\n" +"\n" +" nazwy tcp/udp: [port_lokalny][,[zdalny_host][,[port_zdalny]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger i Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc jest rozpowszechniany BEZ ¯ADNEJ GWARANCJI.\n" +"To oprogramowanie jest darmowe i mo¿e byæ dystrybuowane na warunkach\n" +"Powszechnej Licencji Publicznej GNU (General Public License).\n" +"Wiêcej informacji znajduje siê w pliku o nazwie COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Nie mo¿na otworzyæ katalogu /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Nie mo¿na przydzieliæ pamiêci dla dopasowanego procesu: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Podana nazwa pliku %s nie istnieje.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Nie mo¿na wykonaæ stat na %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Nie mo¿na rozwi±zaæ portu lokalnego %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Nieznana rodzina adresów portu lokalnego %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Nie mo¿na otworzyæ pliku protoko³u \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: B³êdna opcja %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Opcja przestrzeni nazw wymaga argumentu." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Niepoprawna nazwa przestrzeni nazw" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Z opcjami punktu montowania mo¿na u¿ywaæ tylko plików" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Nie podano okre¶lenia procesów" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "opcja wszystkich plików nie mo¿e byæ u¿yta z opcj± ciszy." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Nie mo¿na naraz szukaæ gniazd wy³±cznie IPv4 i wy³±cznie IPv6" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s U¯YTKOWNIK PID DOSTÊP POLECENIE\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(nieznany)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Nie mo¿na wykonaæ stat na pliku %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Nie mo¿na otworzyæ /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Zabiæ proces %d? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Nie uda³o siê zabiæ procesu %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Nie mo¿na otworzyæ gniazda sieciowego.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Nie mo¿na odnale¼æ numeru urz±dzenia gniazda.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Zabiæ %s(%s%d)? (t/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Wys³aæ sygna³ do %s(%s%d)? (t/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: nie mo¿na pobraæ UID-a ze stanu procesu\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: b³êdne wyra¿enie regularne: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: pominiêto czê¶ciowe dopasowanie %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Zabito %s(%s%d) sygna³em %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: nie znaleziono ¿adnego procesu\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Sk³adnia: killall [-Z KONTEKST] [-u U¯YTKOWNIK] [ -eIgiqrvw ] [ -SYGNA£ ] " +"NAZWA...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Sk³adnia: killall [OPCJE]... [--] NAZWA...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V --version\n" +"\n" +" -e,--exact wymaganie dok³adnego dopasowania dla bardzo d³ugich " +"nazw\n" +" -I,--ignore-case dopasowywanie nazw procesów niewra¿liwe na wielko¶æ " +"liter\n" +" -g,--process-group zabicie grupy procesów zamiast procesu\n" +" -y,--younger-than zabicie procesów m³odszych ni¿ CZAS\n" +" -o,--other-than zabicie procesów starszych ni¿ CZAS\n" +" -i,--interactive pytanie o potwierdzenie przed zabiciem\n" +" -l,--list wypisanie wszystkich znanych nazw sygna³ów\n" +" -q,--quiet nie wy¶wietlanie narzekañ\n" +" -r,--regexp u¿ycie NAZWY jako rozszerzonego wyra¿enia regularnego\n" +" -s,--signal SYGNA£ wys³anie podanego sygna³u zamiast SIGTERM\n" +" -u, --user U¯YTK zabicie tylko procesów dzia³aj±cych jako podany " +"u¿ytkownik\n" +" -v,--verbose informowanie czy wys³anie sygna³u siê powiod³o\n" +" -V,--version wy¶wietlenie informacji o wersji\n" +" -w,--wait zaczekanie na ¶mieræ procesów\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP zabicie tylko procesu(ów) maj±cych dany kontekst " +"bezp.\n" +" (musi poprzedzaæ inne argumenty)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger i Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "B³êdny format czasu" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Nie mo¿na odnale¼æ u¿ytkownika %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "B³êdne wyra¿enie regularne: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: maksymalna liczba nazw to %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s nie ma wpisów procesów (nie jest zamontowany?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "B³±d podczas pod³±czania do procesu %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Sk³adnia: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 wypisywanie strumieni czysto 8-bitowych.\n" +" -n nie wy¶wietlanie nag³ówków odczytu/zapisu z deskryptora.\n" +" -c podgl±danie tak¿e nowych procesów potomnych.\n" +" -d usuwanie z wyj¶cia powtórzonych odczytów/zapisów.\n" +" -V wypisanie informacji o wersji.\n" +" -h wypisanie tego opisu.\n" +"\n" +" Ctrl-C koñczy wyj¶cie.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Sk³adnia: prtstat [opcje] PID ...\n" +" prtstat -V\n" +"Wypisywanie informacji o procesie\n" +" -r,--raw Wy¶wietlenie informacji w postaci surowej\n" +" -V,--version Wypisanie informacji o wersji i zakoñczenie\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "dzia³a" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "¶pi" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "op.dyskowa" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "¶ledzony" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "wymiana" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "nieznany" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Proces: %-14s\t\tStan: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tW±tków: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"ID procesu, grupy i sesji\n" +" ID procesu: %d\t\t ID rodzica: %d\n" +" ID grupy: %d\t\t ID sesji: %d\n" +" ID grupy t: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Niepowodzenia stronicowania\n" +" Ten proces (min maj): %8lu %8lu\n" +" Procesy potomne (min maj): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Czasy procesora\n" +" Ten proces (u¿ytkownika systemowy go¶cinny blkio): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Procesy potomne (u¿ytkownika systemowy go¶cinny: %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Pamiêæ\n" +" RozmWirt/VSz: %-10s\n" +" RSS: %-10s \t\t Limit RSS: %s\n" +" Pocz. kodu: %#-10lx\t\t Koniec kodu: %#-10lx\n" +" Pocz. stosu: %#-10lx\n" +" Wsk. stosu (ESP): %#-10lx\t\t Wsk. instr. (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Szeregowanie\n" +" Polityka: %s\n" +" Wart.nice: %ld \t\t Priorytet RT: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf w print_stat nie powiód³ siê.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Proces o pidzie %d nie istnieje.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Nie uda³o siê otworzyæ pliku stat dla pidu %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "B³êdna opcja" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Trzeba podaæ przynajmniej jeden PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"/proc nie jest zamontowany, nie mo¿na wykonaæ stat na /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s jest pusty (nie podmontowany?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Sk³adnia: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] " +"[ -u ]\n" +" [ -A | -G | -U ] [ PID | U¯YTKOWNIK ]\n" +" pstree -V\n" +"Wy¶wietlanie drzewa procesów.\n" +"\n" +" -a, --arguments wy¶wietlenie argumentów linii poleceñ\n" +" -A, --ascii u¿ycie znaków ramek ASCII\n" +" -c, --compact nie scalanie identycznych poddrzew\n" +" -h, --highlight-all pod¶wietlenie bie¿±cego procesu i jego przodków\n" +" -H PID,\n" +" --highlight-pid=PID pod¶wietlenie podanego procesu i jego przodków\n" +" -g, --show-pgids wy¶wietlanie identyfikatorów grup procesów; w³±cza -c\n" +" -G, --vt100 u¿ycie znaków ramek VT100\n" +" -l, --long nie obcinanie d³ugich linii\n" +" -n, --numeric-sort sortowanie wyj¶cia wg PID-u\n" +" -p, --show-pids wy¶wietlanie PID-ów; w³±cza tak¿e -c\n" +" -u, --uid-changes wy¶wietlanie zmian uidów\n" +" -U, --unicode u¿ycie znaków ramek UTF-8 (Unicode)\n" +" -V, --version wy¶wietlenie informacji o wersji\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" +" -Z wy¶wietlanie kontekstów bezpieczeñstwa SELinuksa\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID rozpoczêcie od tego PID-u, domy¶lnie 1 (init)\n" +" U¯YTKOWNIK tylko drzewa zaczynaj±ce siê od procesów tego u¿ytkownika\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger i Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM nie ustawiony\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Nie mo¿na odczytaæ mo¿liwo¶ci terminala\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Nie ma u¿ytkownika o takiej nazwie: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nie znaleziono procesów.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Naci¶niêcie return zamknie program\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: nieznany sygna³; %s -l wypisuje sygna³y.\n" diff --git a/po/psmisc.pot b/po/psmisc.pot new file mode 100644 index 0000000..c729459 --- /dev/null +++ b/po/psmisc.pot @@ -0,0 +1,536 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "" + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "" + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "" + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "" diff --git a/po/pt.gmo b/po/pt.gmo new file mode 100644 index 0000000..574e8ac Binary files /dev/null and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..562b9ee --- /dev/null +++ b/po/pt.po @@ -0,0 +1,632 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 1.0\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2001-10-28 22:14-0200\n" +"Last-Translator: Edesio Costa e Silva \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, fuzzy, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, fuzzy, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Copyright (C) 1993-2000 Werner Almesberger and Craig Small\n" +"\n" +"PSmisc vem sem nenhuma GARANTIA.\n" +"Este é um software livre, e você é bem-vindo a redistribuí-lo sob os\n" +"termos da licença GNU (GNU General Public License).\n" +"Para maiores informações sobre estes assuntos, veja os arquivos com nome " +"COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "" + +#: src/fuser.c:972 +#, fuzzy, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s/%s: especificação invalida\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "" + +#: src/fuser.c:1616 +#, fuzzy, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Aborta processo %d ? (y/n) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "" + +#: src/fuser.c:1671 +#, fuzzy, c-format +msgid "Cannot find socket's device number.\n" +msgstr "não pode achar o número de dispositivo do socket" + +#: src/killall.c:100 +#, fuzzy, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Termina %s(%s%d) ? (y/n) " + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Termina %s(%s%d) ? (y/n) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "ignorando resultado parcial %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Abortado %s(%s%d) com sinal %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: nenhum processo abortado\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Número máximo de nomes é %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s está vazio (não está montado?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s está vazio (não está montado?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" + +#: src/pstree.c:859 +#, fuzzy, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "" + +#~ msgid "-4 flag used but proc file %s is not readable\n" +#~ msgstr "opção -4 utilizada mas o arquivo %s não pode ser lido\n" + +#~ msgid "-6 flag used but proc file %s is not readable\n" +#~ msgstr "opção -6 utilizada mas o arquivo %s não pode ser lido\n" + +#~ msgid "kill %d" +#~ msgstr "kill %d" + +#~ msgid "No automatic removal. Please use umount %s\n" +#~ msgstr "" +#~ "Não pode ser automaticamente removido. Por favor, utilize umount %s\n" + +#~ msgid "No automatic removal. Please use swapoff %s\n" +#~ msgstr "" +#~ "Não pode ser automaticamente removido. Por favor, utilize swapoff %s\n" + +#~ msgid "Internal error (type %d)\n" +#~ msgstr "Erro interno (tipo %d)\n" + +#~ msgid "kernel mount " +#~ msgstr "kernel mount " + +#~ msgid "kernel loop " +#~ msgstr "kernel loop " + +#~ msgid "kernel swap " +#~ msgstr "kernel swap " + +#, fuzzy +#~ msgid "" +#~ "usage: fuser [ -a | -s | -c ] [ -n space ] [ -signal ] [ -kimuv ] " +#~ "name ...\n" +#~ " [ - ] [ -n space ] [ -signal ] [ -kimuv ] name ...\n" +#~ " fuser -l\n" +#~ " fuser -V\n" +#~ "\n" +#~ " -a display unused files too\n" +#~ " -c mounted FS\n" +#~ " -f silently ignored (for POSIX compatibility\n" +#~ " -k kill processes accessing that file\n" +#~ " -i ask before killing (ignored without -k)\n" +#~ " -l list signal names\n" +#~ " -m mounted FS\n" +#~ " -n space search in the specified name space (file, udp, or tcp)\n" +#~ " -s silent operation\n" +#~ " -signal send signal instead of SIGKILL\n" +#~ " -u display user ids\n" +#~ " -v verbose output\n" +#~ " -V display version information\n" +#~ " -4 search IPv4 sockets only\n" +#~ " -6 search IPv6 sockets only\n" +#~ " - reset options\n" +#~ "\n" +#~ " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +#~ "\n" +#~ msgstr "" +#~ "\"\"\n" +#~ "\"usage: fuser [ -a | -s ] [ -n space ] [ -signal ] [ -kimuv ] name ...\\n" +#~ "\"\n" +#~ "\" [ - ] [ -n space ] [ -signal ] [ -kimuv ] name ...\\n\"\n" +#~ "\" fuser -l\\n\"\n" +#~ "\" fuser -V\\n\"\n" +#~ "\"\\n\"\n" +#~ "\" -a exibe arquivos usados e não usados\\n\"\n" +#~ "\" -k termina processos acessando aquele arquivo\\n\"\n" +#~ "\" -i pergunta antes de abortar (ignorado se a opção -k não for " +#~ "utilizada)\\n\"\n" +#~ "\" -l lista o nome dos sinais\\n\"\n" +#~ "\" -m sistemas de arquivos (file systems) montados\\n\"\n" +#~ "\" -n space pesquisa no espaço de nomes especificado (arquivos, " +#~ "conexões udp ou tcp)\\n\"\n" +#~ "\" -s exibe apenas mensagens de erro\\n\"\n" +#~ "\" -signal utiliza sinal signal ao invés de SIGKILL\\n\"\n" +#~ "\" -u exibe identificadores de usuário (user ids)\\n\"\n" +#~ "\" -v exibe mensagens detalhadas\\n\"\n" +#~ "\" -V exibe versão do programa\\n\"\n" +#~ "\" -4 pesquisa apenas sockets IPv4\\n\"\n" +#~ "\" -6 pesquisa apenas sockets IPv6\\n\"\n" +#~ "\" - reseta opções\\n\"\n" +#~ "\"\\n\"\n" +#~ "\" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\\n\"\n" +#~ "\"\\n\"\n" + +#~ msgid "ignoring -m in name space \"%s\"\n" +#~ msgstr "ignorando opção -m no espaço de nomes \"%s\"\n" + +#~ msgid "No process references; use -v for the complete list\n" +#~ msgstr "" +#~ "Nenhuma referência a processo; utilize -v para uma listagem completa\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo new file mode 100644 index 0000000..af80805 Binary files /dev/null and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..5d28bb6 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,678 @@ +# Brazilian Portuguese translation of psmisc. +# This file is distributed under the same license as the psmisc package. +# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Fabrício Godoy , 2009-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.12\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2010-08-15 04:48-0300\n" +"Last-Translator: Fabrício Godoy \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Uso: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n ESPNM] [-k [-i] [-SINAL]] " +"NOME...\n" +" fuser -l\n" +" fuser -V\n" +"Mostra quais processos usam os arquivos, sockets ou sistema de arquivos " +"especificados.\n" +"\n" +" -a,--all exibir também arquivos sem uso\n" +" -i,--interactive perguntar antes de matar (ignorado sem -k)\n" +" -k,--kill matar processos acessando o arquivo especificado\n" +" -l,--list-signals listar os nomes de sinal disponíveis\n" +" -m,--mount mostrar todos processos usando o sistema de arquivos " +"ou dispositivo de bloco especificado\n" +" -n,--namespace ESPNM pesquisar neste espaço de nome (file, udp ou tcp)\n" +" -s,--silent operação silenciosa\n" +" -SINAL enviar este sinal em vez de SIGKILL\n" +" -u,--user exibir IDs de usuário\n" +" -v,--verbose saída detalhada\n" +" -V,--version exibir informações de versão\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 pesquisar apenas sockets IPv4\n" +" -6,--ipv6 pesquisar apenas sockets IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - redefinir opções\n" +"\n" +" nomes udp/tcp: [porta_local][,[maq_rmt][,[porta_rmt]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2010 Werner Almesberger and Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc vem com ABSOLUTAMENTE NENHUMA GARANTIA.\n" +"Este é um software livre, e você é bem-vindo em redistribuí-lo dentro\n" +"dos termos da GNU General Public License.\n" +"Para mais informações a respeito, veja os arquivos com o nome COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Não foi possível abrir o diretório /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Não foi possível alocar memória ao proc equiparado: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "O nome de arquivo especificado %s não existe.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Não foi possível analisar %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Não foi possível resolver a porta local %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Família de endereços da porta local %d desconhecida\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Não foi possível abrir o arquivo de protocolo \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Opção inválida %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "A opção \"espaço de nome\" requer um argumento." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Nome de espaço de nome inválido" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Você pode apenas usar arquivos com opções de ponto de montagem" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Nenhuma especificação de processo fornecida" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "a opção \"detalhada\" não pode ser usada com a opção \"silenciosa\"." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Você não pode pesquisar apenas por sockets IPv4 e IPv6 ao mesmo tempo" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s USUÁRIO PID ACESSO COMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(desconhecido)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Não foi possível analisar o arquivo %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Não foi possível abrir /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Matar o processo %d? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Não foi possível matar o processo %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Não foi possível abrir um socket de rede.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Não foi possível localizar o número de dispositivo do socket.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Matar %s(%s%d)? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Enviar sinal para %s(%s%d)? (y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Não foi possível obter UID do status do processo\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Expressão regular inválida: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "ignorando ocorrência parcial %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) morto com o sinal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: nenhum processo localizado\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Uso: killall [-Z CONTEXTO] [-u USUÁRIO] [ -eIgiqrvw ] [ -SINAL ] NOME...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Uso: killall [OPÇÃO]... [--] NOME...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact exigir ocorrência exata para nomes muito longos\n" +" -I,--ignore-case ignorar maiusculização nos nomes de processo\n" +" -g,--process-group matar o grupo de processo em vez do processo\n" +" -y,--younger-than matar processos mais novos que TEMPO\n" +" -o,--older-than matar processos mais velhos que TEMPO\n" +" -i,--interactive exibir confirmação antes de matar\n" +" -l,--list listar todos os nomes de sinal conhecidos\n" +" -q,--quiet não exibir avisos\n" +" -r,--regexp interpretar NOME como uma expressão regular extendida\n" +" -s,--signal SINAL enviar este sinal em vez de SIGTERM\n" +" -u,--user USUARIO matar apenas proc. sendo executados como USUARIO\n" +" -v,--verbose relatar se o sinal foi enviado com sucesso\n" +" -V,--version exibir informações de versão\n" +" -w,--wait esperar que os processos morram\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context EXPREG matar apenas processo(s) tendo contexto\n" +" (precisa preceder outros argumentos)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2010 Werner Almesberger and Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Formato de tempo inválido" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Não foi possível localizar o usuário %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Expressão regular inválida: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "O número máximo de nomes é %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s está vazio (não montado?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Erro ao anexar ao PID %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Uso: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 saída limpa com fluxos de 8 bits.\n" +" -n não exibir leitura/gravação dos cabeçalhos fd.\n" +" -c espiar qualquer novos processos filhos também.\n" +" -d remover leitura/gravação duplicados da saída.\n" +" -V exibir informações de versão.\n" +" -h exibir esta ajuda.\n" +"\n" +" Pressione CTRL+C para finalizar a saída.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Uso: prtstat [opções] PID ...\n" +" prtstat -V\n" +"Exibe informações sobre um processo\n" +" -r,--raw Exibição bruta de informações\n" +" -V,--version Exibir informações de versão e sair\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright © 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "executando" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "suspenso" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "suspenso por disco" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zumbi" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "interrompido" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "paginado" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "desconhecido" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Processo: %-14s\t\tEstado: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"IDs de processos, grupos e sessões\n" +" ID processo: %d\t\t ID pai: %d\n" +" ID grupo: %d\t\t ID sessão: %d\n" +" ID grupo T: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Faltas de página\n" +" Este processo (menor maior): %8lu %8lu\n" +" Processos filho (menor maior): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Tempo de CPU\n" +" Este processo (usu. sist. conv. blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Processos filho (usu. sist. conv.): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Memória\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\tLimite RSS: %s\n" +" Início cód.: %#-10lx\t\t Fim cód. : %#-10lx\n" +" Início stack:%#-10lx\n" +" Pont. stack (ESP): %#10lx\t Pont. Instr. (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Agendamento\n" +" Polít.: %s\n" +" Nice: %ld \t\t Priorid. RT: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf em print_stat falhou.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "O processo com PID %d não existe.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Não foi possível abrir o arquivo de análise para PID %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Opção inválida" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Você precisa fornecer ao menos um PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc não está montado, impossível analisar /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s está vazio (não montado?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Uso: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | USR ]\n" +" pstree -V\n" +"Exibe uma árvore de processos.\n" +"\n" +" -a, --arguments mostrar argumentos de linha de comando\n" +" -A, --ascii usar caracteres ASCII no desenho de linhas\n" +" -c, --compact não comprimir subárvores idênticas\n" +" -h, --highlight-all realçar o processo atual e seus ancestrais\n" +" -H PID,\n" +" --highlight-pid=PID realçar este processo e seus ancestrais\n" +" -G, --vt100 usar caracteres VT100 no desenho de linhas\n" +" -l, --long não truncar linhas longas\n" +" -n, --numeric-sort ordenar saída pelo PID\n" +" -p, --show-pids mostrar PIDs; implica -c\n" +" -u, --uid-changes mostrar transições de UID\n" +" -U, --unicode usar caracteres UTF-8 (Unicode) no desenho de linhas\n" +" -V, --version exibir informações de versão\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z mostrar contextos de segurança do SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID iniciar deste PID; predefinido como 1 (init)\n" +" USR mostrar apenas árvores originadas de processos deste usuário\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2009 Werner Almesberger and Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM não está definido\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Não pôde obter as habilidades do terminal\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Nome de usuário inexistente: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nenhum processo localizado.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Pressione Enter para fechar\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: sinal desconhecido; %s -l lista os sinais.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Uso: pidof [ -eg ] NOME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e exigir ocorrência exata para nomes muito longos;\n" +#~ " ignorar se a linha de comando está indisponível\n" +#~ " -g mostrar ID do grupo de processo em vez do ID de processo\n" +#~ " -V exibir informações de versão\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright © 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 0000000..0122c46 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000..2436c49 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ro.gmo b/po/ro.gmo new file mode 100644 index 0000000..5720bfa Binary files /dev/null and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..789b2ee --- /dev/null +++ b/po/ro.po @@ -0,0 +1,711 @@ +# Mesajele în limba românã pentru psmisc. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca ºi pachetul psmisc. +# Laurentiu Buzdugan , 2005. +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc-21.6pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2005-02-24 12:00-0500\n" +"Last-Translator: Laurentiu Buzdugan \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" + +#: src/fuser.c:160 +#, fuzzy, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger ºi Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc vine fãrã ABSOLUT NICI O GARANÞIE.\n" +"Acesta este software liber, ºi sunteþi benevenit sã îl redistribuiþi\n" +"în conformitate cu termenii GNU General Public License.\n" +"Pentru informaþii suplimentare referitoare la aceste chestiuni,\n" +"vedeþi fiºierele numite COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "" + +#: src/fuser.c:972 +#, fuzzy, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s/%s: specificaþie invalidã\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" + +#: src/fuser.c:1246 +#, fuzzy, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "" +"\n" +"%*s UTILIZATOR PID ACCES COMANDÃ\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Terminã process %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "" + +#: src/fuser.c:1671 +#, fuzzy, c-format +msgid "Cannot find socket's device number.\n" +msgstr "nu pot gãsi numerele dispozitivelor socket-urilor" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Terminã %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, fuzzy, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Terminã %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "am ignorat potrivirea parþialã %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Am terminat %s(%s%d) cu semnalul %d\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: nici un proces nu a fost terminat\n" + +#: src/killall.c:615 +#, fuzzy, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"folosire: killall [-s sid] [-c context] [ -egiqvw ] [ -signal ] nume ...\n" + +#: src/killall.c:618 +#, fuzzy, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "folosire: killall [ OPÞIUNI ] [ -- ] nume ...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V --version\n" +"\n" +" -e,--exact cere potrivire exactã pentru nume foarte lungi;\n" +" -I,--ignore-case potriveºte numele indiferent de cazul caracterelor\n" +" -g,--process-group terminã grupul procesului în loc de proces\n" +" -i,--interactive cere confirmare înainte de terminare\n" +" -l,--list listeazã toate numele de semnale cunoscute\n" +" -q,--quiet nu afiºa plângerile\n" +" -s,--signal trimite semnal în loc de SIGTERM\n" +" -v,--verbose raporteazã dacã semnalul a fost trimis cu succes\n" +" -V,--version afiºeazã informaþii despre versiune\n" +" -w,--wait aºteaptã ca procesele sã termine\n" +"\n" + +#: src/killall.c:639 +#, fuzzy, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -d,--sid terminã numai procesele având sid\n" +" -c,--context terminã numai procesele având scontext\n" +" (-s, -c sunt mutual exlusive ºi trebuie sã preceadã celelalte argumente\n" +"\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger ºi Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Numãr maxim de nume este %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s este gol (nu este montat ?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "" + +#: src/peekfd.c:104 +#, fuzzy, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger ºi Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s este gol (nu este montat ?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ pid | user]\n" +" pstree -V\n" +"\n" +" -a afiºeazã argumentele liniei de comandã\n" +" -A foloseºte caractere de desenare ASCII\n" +" -c nu compacta sub-arborii identici\n" +" -h evidenþiazã procesul curent ºi strãmoºii acestuia\n" +" -H pid evidenþiazã procesul \"pid\" ºi strãmoºii acestuia\n" +" -G foloseºte caractere de desenare VT100\n" +" -l nu trunca liniile lungi\n" +" -n sorteazã ieºirea dupã PID\n" +" -p afiºeazã PID-urile; implicã -c\n" +" -u afiºeazã tranziþiilr uid\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr "" +" -s aratã SID-urile Flask\n" +" -x aratã contextele de securitate Flask\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" + +#: src/pstree.c:859 +#, fuzzy, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2002 Werner Almesberger ºi Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM nu este setat\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Nu pot obþine capabilitãþile terminalului\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Nici un utilizator cu acest nume: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Nu a fost gãsit nici un proces.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Apãsaþi tasta return pentru a închide\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: semnal necunoscut; %s -l listeazã semnalele.\n" + +#~ msgid "" +#~ "usage: pidof [ -eg ] name ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "folosire: pidof [ -eg ] nume ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e cere potrivire exactã pentru nume foarte lungi;\n" +#~ " ignorã dacã linia de comandã nu este disponibilã\n" +#~ " -g aratã ID-ul grupului procesului în loc de ID-ul procesului\n" +#~ " -V afiºeazã informaþii despre versiune\n" +#~ "\n" + +#~ msgid "%s: SID (%s) must be numeric\n" +#~ msgstr "%s: SID (%s) trebuie sã fie numeric\n" + +#~ msgid "-4 flag used but proc file %s is not readable\n" +#~ msgstr "aþi folosit opþiune -4 dar fiºierul proc %s nu este citibil\n" + +#~ msgid "-6 flag used but proc file %s is not readable\n" +#~ msgstr "aþi folosit opþiune -6 dar fiºierul proc %s nu este citibil\n" + +#~ msgid "kill %d" +#~ msgstr "kill %d" + +#~ msgid "No automatic removal. Please use umount %s\n" +#~ msgstr "Nici o ºtergere automatã. Vã rugãm folosiþi umount %s\n" + +#~ msgid "No automatic removal. Please use swapoff %s\n" +#~ msgstr "Nici o ºtergere automatã. Vã rugãm folosiþi swapoff %s\n" + +#~ msgid "Internal error (type %d)\n" +#~ msgstr "Eroare internã (tip %d)\n" + +#~ msgid "kernel mount " +#~ msgstr "kernel mount " + +#~ msgid "kernel loop " +#~ msgstr "kernel loop " + +#~ msgid "kernel swap " +#~ msgstr "kernel swap " + +#~ msgid "" +#~ "usage: fuser [ -a | -s | -c ] [ -n space ] [ -signal ] [ -kimuv ] " +#~ "name ...\n" +#~ " [ - ] [ -n space ] [ -signal ] [ -kimuv ] name ...\n" +#~ " fuser -l\n" +#~ " fuser -V\n" +#~ "\n" +#~ " -a display unused files too\n" +#~ " -c mounted FS\n" +#~ " -f silently ignored (for POSIX compatibility)\n" +#~ " -k kill processes accessing that file\n" +#~ " -i ask before killing (ignored without -k)\n" +#~ " -l list signal names\n" +#~ " -m mounted FS\n" +#~ " -n space search in the specified name space (file, udp, or tcp)\n" +#~ " -s silent operation\n" +#~ " -signal send signal instead of SIGKILL\n" +#~ " -u display user ids\n" +#~ " -v verbose output\n" +#~ " -V display version information\n" +#~ " -4 search IPv4 sockets only\n" +#~ " -6 search IPv6 sockets only\n" +#~ " - reset options\n" +#~ "\n" +#~ " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +#~ "\n" +#~ msgstr "" +#~ "folosire: fuser [ -a | -s | -c ] [ -n spaþiu ] [ -signal ] [ -kimuv ] " +#~ "nume ...\n" +#~ " [ - ] [ -n spaþiu ] [ -signal ] [ -kimuv ] nume ...\n" +#~ " fuser -l\n" +#~ " fuser -V\n" +#~ "\n" +#~ " -a afiºeazã ºî fiºierele nefolosite\n" +#~ " -c FS montat(e)\n" +#~ " -f ignorat pe tãcute (pentru compatibilitate POSIX)\n" +#~ " -k terminã procesele ce acceseazã acel fiºier\n" +#~ " -i întreabã înainte de a termina (ignorat fãrã -k)\n" +#~ " -l listeazã numele semnalelor\n" +#~ " -m FS montat(e)\n" +#~ " -n spaþiu cautã în numele de spaþiu specificat (fiºier, udp, sau " +#~ "tcp)\n" +#~ " -s operare pe tãcute\n" +#~ " -signal trimite semnal în loc de SIGKILL\n" +#~ " -u afiºeazã ID-uri utilizator\n" +#~ " -v ieºire detaliatã\n" +#~ " -V afiºeazã informaþii despre versiune\n" +#~ " -4 cautã numai socket-urile IPv4\n" +#~ " -6 cautã numai socket-urile IPv6\n" +#~ " - reseteazã opþiuni\n" +#~ "\n" +#~ " nume udp/tcp: [local_port][,[rmt_host][,[rmt_port]]]\n" +#~ "\n" + +#~ msgid "ignoring -m in name space \"%s\"\n" +#~ msgstr "ignor -m în spaþiul de nume \"%s\"\n" + +#~ msgid "MAX_DEPTH not big enough.\n" +#~ msgstr "MAX_DEPTH nu este suficient de mare.\n" + +#~ msgid "" +#~ " -U use UTF-8 (Unicode) line drawing characters\n" +#~ " -V display version information\n" +#~ " pid start at pid, default 1 (init)\n" +#~ " user show only trees rooted at processes of that user\n" +#~ "\n" +#~ msgstr "" +#~ " -U foloseºte caractere de desenare UTF-8 (Unicode)\n" +#~ " -V afiºeazã informaþii despre versiune\n" +#~ " pid începe la pid, implicit 1 (init)\n" +#~ " utiliz aratã numai arborii cu rãdacinã la procesele acestui utiliz" +#~ "[ator]\n" +#~ "\n" diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000..2c7d871 Binary files /dev/null and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..b1dabbc --- /dev/null +++ b/po/ru.po @@ -0,0 +1,702 @@ +# translation of psmisc-22.11-pre1.ru.po to Russian +# Russian Translation for psmisc files +# Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Ilya Evseev , 2005. +# Yuri Kozlov , 2009, 2010, 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-02 08:56+0400\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Использование: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n ОБЛАСТЬ]\n" +" [-k [-i] [-СИГНАЛ]] ИМЯ…\n" +" fuser -l\n" +" fuser -V\n" +"Показывает какие процессы используют указанные файлы, сокеты\n" +"или файловые системы.\n" +"\n" +" -a,-all показывать также неиспользуемые файлы\n" +" -i,--interactive спрашивать подтверждение завершения (игнор. без -k)\n" +" -k,--kill завершить процессы, обращающиеся к заданному файлу\n" +" -l,--list-signals показать допустимые имена сигналов\n" +" -m,--mount показать процессы, использующие указанные файловые\n" +" системы или блочные устройства\n" +" -M,--ismountpoint выполнять запрос, только если ИМЯ является точкой\n" +" монтирования\n" +" -n,--namespace ОБЛАСТЬ\n" +" искать в указанном пространстве имён (file, udp или " +"tcp)\n" +" -s,--silent не выводить сообщения\n" +" -СИГНАЛ посылать указанный сигнал вместо SIGKILL\n" +" -u,--user показывать идентификатор пользователя (uid)\n" +" -v,--verbose включить подробные сообщения\n" +" -w,--writeonly завершать только процессы с правом на запись\n" +" -V,--version показать информацию о версии\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 поиск только среди сокетов IPv4\n" +" -6,--ipv6 поиск только среди сокетов IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - отменить предыдущие параметры\n" +"\n" +" Имена udp/tcp: [локальный_порт][,[удалённый_узел][,[удалённый_порт]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc поставляется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.\n" +"Это свободная программа; вы можете распространять её на условиях\n" +"Универсальной общественной лицензии GNU.\n" +"Подробная информация об этих условиях приведена в файле COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Не удалось открыть каталог /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Не удалось выделить память для проверяемого proc: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Указанное имя файла %s не существует.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Не удалось выполнить функцию stat для %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Не удалось определить имя локального порта %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Неизвестный локальный порт AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Не удалось открыть файл протокола \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: неправильный параметр %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Для параметра области требуется значение." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Неверное имя области" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Вы можете использовать файлы только с параметрами mountpoint" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Не указан процесс" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "" +"Параметр показа всех файлов нельзя использовать вместе с параметром " +"отключения сообщений." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Нельзя выполнять поиск только по сокетам IPv4 и IPv6 одновременно" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s ПОЛЬЗ-ЛЬ PID ДОСТУП КОМАНДА\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(неизвестно)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Не удалось выполнить функцию stat для файла %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Не удалось открыть /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Завершить процесс %d? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Не удалось завершить процесс %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Не удалось открыть сетевой сокет.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Не удалось найти номер устройства сокета.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Завершить %s(%s%d)? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Послать сигнал %s(%s%d)? (y/N) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: не удалось получить UID из состояния процесса\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: неправильное регулярное выражение: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: пропуск частичного совпадения %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) завершён сигналом %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: процесс не найден\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Использование: killall [-Z КОНТЕКСТ] [-u ПОЛЬЗОВАТЕЛЬ]\n" +" [ -eIgiqrvw ] [ -СИГНАЛ ] ИМЯ…\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Использование: killall [ПАРАМЕТР]… [--] ИМЯ…\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact требовать полного совпадения для очень длинных имён\n" +" -I,--ignore-case игнорировать регистр символов в именах процессов\n" +" -g,--process-group завершать группу процесса вместо одного процесса\n" +" -y,--younger-than завершить процессы, новее чем заданного ВРЕМЕНИ\n" +" -o,--older-than завершить процессы, старее чем заданного ВРЕМЕНИ\n" +" -i,--interactive запрашивать подтверждение перед завершением " +"процессов\n" +" -l,--list вывести список допустимых имён сигналов\n" +" -q,--quiet не показывать подробные сообщения\n" +" -r,--regexp рассматривать ИМЯ как расширенное регулярное " +"выражение\n" +" -s,--signal СИГНАЛ посылать указанный СИГНАЛ, а не SIGTERM\n" +" -u,--user ПОЛЬЗВ завершить процесс(ы), запущенный только " +"ПОЛЬЗОВАТЕЛЕМ\n" +" -v,--verbose уведомлять только при успешной отправке сигнала\n" +" -V,--version показать информацию о версии\n" +" -w,--wait ожидать завершения процессов\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context РЕГВЫР завершать только процессы(ы) с подходящим контекстом\n" +" (должен указываться раньше остальных параметров)\n" +"\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "неправильный формат времени" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Пользователь %s не найден\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Неправильное регулярное выражение: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: количество имён не может превышать %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: в %s нет записей о процессах (не смонтирован?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Ошибка присоединения к процессу с pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Использование: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 в потоках не сбрасывается 8-й бит.\n" +" -n не отображать fd заголовки при чтении/записи.\n" +" -c наблюдать также за всеми новыми дочерними процессами.\n" +" -d удалять повторяющиеся операции чтения/записи при выводе.\n" +" -V вывести информацию о версии.\n" +" -h вывести эту справку.\n" +"\n" +" Нажмите CTRL-C для завершения.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Использование: prtstat [параметры] PID …\n" +" prtstat -V\n" +"Выводит информацию о процессе\n" +" -r,--raw вывести информацию в необработанном виде\n" +" -V,--version вывести информацию о версии и закончить работу\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "работает" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "спит" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "спит из-за диска" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "зомби" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "трассируется" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "замещает страницы" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "неизвестно" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Процесс: %-14s\t\tСостояние: %c (%s)\n" +" ЦП#: %-3d\t\tTTY: %s\tНитей: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"ID процесса, группы и сеанса\n" +" ID процесса: %d\t\t ID родителя: %d\n" +" ID группы: %d\t\t ID сеанса: %d\n" +" ID T-группы: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Страничные отказы\n" +" Этот процесс (первичный вторичный): %8lu %8lu\n" +" Дочерние процессы (первичный вторичный): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Процессорное время\n" +" Этот процесс (польз. систем. гостевое blkio): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Дочерние процессы (польз. систем. гостевое): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Память\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t Предел RSS: %s\n" +" Начало кода: %#-10lx\t\t Конец кода: %#-10lx\n" +" Начало стека: %#-10lx\n" +" Указатель стека (ESP): %#10lx\t Указатель инстр. (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Планировка\n" +" Политика: %s\n" +" Уступчивость: %ld \t\t Приоритет RT: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf в print_stat завершилась неудачно.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Процесс с pid %d не существует.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Не удалось открыть файл stat для pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "неправильный параметр" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Вы должны указать не менее одного PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc не смонтирован, возможно выполнить stat /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s пуст (не смонтирован?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Использование: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ]\n" +" [ -g ] [ -u ] [ -A | -G | -U ] [ PID | ПОЛЬЗОВАТЕЛЬ ]\n" +" pstree -V\n" +"Показывает дерево процессов.\n" +"\n" +" -a, --arguments показывать аргументы командной строки\n" +" -A, --ascii использовать ASCII-символы для рисования линий\n" +" -c, --compact не сжимать одинаковые поддеревья\n" +" -h, --highlight-all выделять цветом текущий процесс и его предков\n" +" -H PID,\n" +" --highlight-pid=PID выделить цветом процесс PID и его предков\n" +" -g, --show-pgids показывать идентификаторы групп процесса;\n" +" включает -c\n" +" -G, --vt100 использовать символы терминала VT100 для рисования " +"линий\n" +" -l, --long не обрезать длинные строки\n" +" -n, --numeric-sort сортировать вывод по PID\n" +" -p, --show-pids показывать идентификаторы процессов (PID); включает -" +"c\n" +" -u, --uid-changes показывать переходы идентификаторов пользователей\n" +" -U, --unicode использовать символы UTF-8 (юникод) для рисования " +"линий\n" +" -V, --version показать информацию о версии\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show показывать контексты безопасности SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID начинать от указанного PID; по умолчанию 1 (init)\n" +" ПОЛЬЗОВАТЕЛЬ показать только дерево процессов указанного " +"пользователя\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Переменная окружения TERM не установлена\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Не удалось определить характеристики терминала\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Неизвестное имя пользователя: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Не найдено ни одного процесса.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Нажмите Enter для выхода\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: неизвестный сигнал; %s -l выводит список доступных сигналов.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Использование: pidof [ -eg ] ИМЯ…\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e требовать полного совпадения для очень длинных имён;\n" +#~ " игнорировать, если командная строка недоступна\n" +#~ " -g показывать идентификатор группы вместо идентификатора " +#~ "процесса\n" +#~ " -V показать информацию о версии\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" diff --git a/po/sr.gmo b/po/sr.gmo new file mode 100644 index 0000000..a0f4d78 Binary files /dev/null and b/po/sr.gmo differ diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..3589b49 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,687 @@ +# Serbian translation of psmisc. +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Мирослав Николић , 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc-22.17rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-05-24 22:46+0200\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Употреба: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n РАЗМАК] [-k [-i] [-" +"СИГНАЛ]] НАЗИВ...\n" +" fuser -l\n" +" fuser -V\n" +"Приказује који процеси користе именоване датотеке, прикључке, или системе " +"датотека.\n" +"\n" +" -a,--all такође приказује неупотребљене датотеке\n" +" -i,--interactive пита пре него што убије (занемарено без -k)\n" +" -k,--kill убија процесе приступајући именованој датотеци\n" +" -l,--list-signals наводи називе доступног сигнала\n" +" -m,--mount приказује све процесе користећи именоване системе " +"датотека или блок уређај\n" +" -M,--ismountpoint испуњава захтев само ако је НАЗИВ тачка качења\n" +" -n,--namespace ПРОСТОР тражи у овим просторима назива (датотека, удп, или " +"тцп)\n" +" -s,--silent нечујна радња\n" +" -SIGNAL шаље овај сигнал уместо СИГУБИЈ\n" +" -u,--user приказује ИБ корисника\n" +" -v,--verbose опширан излаз\n" +" -w,--writeonly убија само процесе са правом приступа\n" +" -V,--version приказује обавештење о издању\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 тражи само ИПв4 прикључке\n" +" -6,--ipv6 тражи само ИПв6 прикључке\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - поново подешава опције\n" +"\n" +" удп/тцп називе: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (ПСмисц) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Ауторска права (C) 1993-2010 Вернер Алмесбергер и Крег Смол\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"ПСмисц долази без БИЛО КАКВЕ ГАРАНЦИЈЕ.\n" +"Ово је слободан софтвер, и можете да га расподељујете\n" +"под одредбама ГНУ-ове Опште јавне лиценце.\n" +"Да сазнате више о овоме, погледајте датотеку под називом „COPYING“.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Не могу да отворим „/proc“ директоријум: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Не могу да доделим меморију одговарајућем проку: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Наведени назив датотеке %s не постоји.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Не могу да добијем податке о %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Не могу да решим локални прикључак %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Непознати локални порт АФ %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Не могу да отворим датотеку протокола „%s“: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: неисправна опција „%s“\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Опција простора назива захтева аргумент." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Неиспрван назив простора назива" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Можете само да користите датотеке са опцијама тачке качења" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Није дата одредница процеса" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "све опције не могу бити коришћене са тихом опцијом." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Не можете да тражите само ИПв4 и само ИПв6 прикључке у исто време" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s КОРИСНИК НАРЕДБА ПРИСТУПА ПИБ-у\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(непознато)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Не могу да добијем податке о датотеци %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Не могу да отворим „/proc/net/unix“: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Да убијем процес %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Не могу да убијем процес %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Не могу да отворим мрежни прикључак.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Не могу да пронађем број уређаја прикључка.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Да убијем %s(%s%d) (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Да обавестим %s(%s%d) (y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Не могу да добавим УИБ из стања процеса\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Лош регуларни израз: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "прескачем делимично поклапање %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Убио сам %s(%s%d) са сигналом %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: нисам пронашао процес\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Употреба: killall [-Z КОНТЕКСТ] [-u КОРИСНИК] [ -eIgiqrvw ] [ -СИГНАЛ ] " +"НАЗИВ...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Употреба: killall [ОПЦИЈА]... [--] НАЗИВ...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact захтева тачно поклапање за врло дуге називе\n" +" -I,--ignore-case поклапа називе процеса без обзира на величину слова\n" +" -g,--process-group убија групу процеса уместо процеса\n" +" -y,--younger-than убија процесе који су млађи од ВРЕМЕНА\n" +" -o,--older-than убија процесе који су старији од ВРЕМЕНА\n" +" -i,--interactive тражи потврду пре убијања\n" +" -l,--list исписује све познате називе сигнала\n" +" -q,--quiet не исписује замерке\n" +" -r,--regexp тумачи НАЗИВ као проширени регуларни израз\n" +" -s,--signal СИГНАЛ шаље овај сигнал уместо СИГТЕРМ\n" +" -u,--user КОРИСНИК убија само процес(е) радећи као КОРИСНИК\n" +" -v,--verbose извештава ако је сигнал успешно послат\n" +" -V,--version приказује обавештење о издању\n" +" -w,--wait чека док процес не умре\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context РЕГИЗР убија само процес(е) који има(ју) контекст\n" +" (мора да претходи другим аргументима)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Ауторска права (C) 1993-2010 Вернер Алмесбергер и Крег Смол\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Неисправни облик времена" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Не могу да пронађем корисника %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Лош регуларни израз: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Највећи број назива је %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s нема уносе процеса (није прикачено ?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Грешка приликом прикачињања пибу %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (ПСмисц) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Ауторска права (C) 2007 Трент Вадингтон\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Употреба: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 исписује чисте токове од 8 бита.\n" +" -n не приказује читај/пиши из фд заглавља.\n" +" -c такође осматра све нове подређене процесе.\n" +" -d уклања двоструке читај/упиши из излаза.\n" +" -V исписује податке о издању.\n" +" -h исписује ову помоћ.\n" +"\n" +" Притисните КТРЛ-Ц да зауставите излаз.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Употреба: prtstat [опција] ПИБ ...\n" +" prtstat -V\n" +"Исписује податке о процесу\n" +" -r,--raw Сиров приказ података\n" +" -V,--version Приказује податке о издању и излази\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (ПСмисц) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Ауторска права (C) 2009 Крег Смол\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "покренут" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "успаван" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "диск‑спава" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "зомби" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "оцртан" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "остраничен" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "непознато" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Процес: %-14s\t\tСтање: %c (%s)\n" +"Процесор#: %-3d\t\tТТУ: %s\tНити: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Процес, Група и ИБ-ови Сесије\n" +" ИБ процеса: %d\t\t ИБ родитеља: %d\n" +" ИБ групе: %d\t\t ИБ сесије: %d\n" +" ИБ Т групе: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Неуспеси странице\n" +" Овај процес (најмањи највећи): %8lu %8lu\n" +" Подређени процеси (најмањи највећи): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Времена процесора\n" +" Овај процес (блкио гост корисничког система): %6.2f %6.2f %6.2f " +"%6.2f\n" +" Подређени процеси (гост корисничког система): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Меморија\n" +" Ввеличина: %-10s\n" +" РСС: %-10s \t\t РСС ограничење: %s\n" +" Почетак кода: %#-10lx\t\t Крај кода: %#-10lx\n" +" Почетак стека: %#-10lx\n" +" Указивач стека (ЕСП): %#10lx\t Указивач уметања (ЕИП): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Планирање\n" +" Политика: %s\n" +" Фино: %ld \t\t РТ приоритет: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "Није успело „asprintf“ у „print_stat“.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Процес са пибом %d не постоји.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Не могу да отворим датотеку статистике за пиб %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Неисправна опција" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Морате да обезбедите барем један ПИБ." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"„/proc“ није прикачен, не могу да добавим стање за „/proc/self/stat“.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s је празно (није прикачено ?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Употреба: pstree [ -a ] [ -c ] [ -h | -H ПИБ ] [ -l ] [ -n ] [ -p ] [ -g ] " +"[ -u ]\n" +" [ -A | -G | -U ] [ ПИБ | КОРИСНИК ]\n" +" pstree -V\n" +"Приказује стабло процеса.\n" +"\n" +" -a, --arguments приказује аргументе линије наредби\n" +" -A, --ascii користи знаке за исцртавање АСКРИ реда\n" +" -c, --compact не сабија истоветна подстабла\n" +" -h, --highlight-all истиче текући процес и његовог претходника\n" +" -H ПИБ,\n" +" --highlight-pid=ПИБ истиче овај процес и његовог претходника\n" +" -g, --show-pgids приказује ибове процесне групе; подразумева „-c“\n" +" -G, --vt100 користи знаке за исцртавање ВТ100 реда\n" +" -l, --long не крати дуге редове\n" +" -n, --numeric-sort ређа излаз према ПИБ-у\n" +" -p, --show-pids приказује ПИБ-ове; подразумева -c\n" +" -s, --show-parents приакзује родитеље изабраног процеса\n" +" -u, --uid-changes приказује прелазе уиба\n" +" -U, --unicode користи знакове за исцртавање УТФ-8 (Уникод) реда\n" +" -V, --version приказује податке о издању\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z приказује СЕЛинукс безбедносни контекст\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" ПИБ почиње са овим ПИБ-ом; основни је 1 (init)\n" +" КОРИСНИК приказује само стабла укорењена у процесима овог корисника\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (ПСмисц) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Ауторска права (C) 1993-2009 Вернер Алмесбергер и Крег Смол\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "ТЕРМ није подешен\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Не могу да добавим могућности терминала\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Нема таквог корисничког имена: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Нисам пронашао процесе.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Притисните „унеси“ да затворите\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: непознат сигнал; %s -l исписује сигнале.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Употреба: pidof [ -eg ] НАЗИВ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e захтева тачно поклапање за врло дуге називе;\n" +#~ " прескаче ако није доступна линија наредби\n" +#~ " -g приказује ИБ групе процеса уместо ИБ процеса\n" +#~ " -V приказује обавештење о издању\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Ауторска права (C) 1993-2005 Вернер Алмесбергер и Крег Смол\n" +#~ "\n" diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 0000000..012861b Binary files /dev/null and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..96b3658 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,681 @@ +# Swedish language file for psmisc. +# Copyright (C) 2003, 2006, 2007, 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Joakim Mared , 2003. +# Daniel Nylander , 2006, 2007, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.11-pre1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2010-06-07 18:11+0100\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Användning: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n RYMD] [-k [-i] [-" +"SIGNAL]] NAMN...\n" +" fuser -l\n" +" fuser -V\n" +"Visa vilka processer som använder namngivna filer, uttag eller filsystem.\n" +"\n" +" -a,--all visa även filer som inte används\n" +" -i,--interactive frÃ¥ga innan processen dödas (ignoreras utan -k)\n" +" -k,--kill döda processer som använder namngiven fil\n" +" -l,--list-signals lista tillgängliga signalnamn\n" +" -m,--mount visa alla processer som använder namngivna filsystem " +"eller blockenheter\n" +" -M,--ismountpoint genomför begäran endast om NAMN är en " +"monteringspunkt\n" +" -n,--namespace RYMD sök i denna namnrymd (fil, udp, tcp)\n" +" -s,--silent tyst körning\n" +" -SIGNAL skicka denna signal istället för SIGKILL\n" +" -u,--user visa användarid\n" +" -v,--verbose informativ utskrift\n" +" -V,--version visa versionsinformation\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 sök endast bland IPv4-uttag (socket)\n" +" -6,--ipv6 sök endast bland IPv6-uttag (socket)\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - nollställ flaggor\n" +"\n" +" udp/tcp-namn: [lokal_port][,[fjärrvärd][,[fjärrport]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2010 Werner Almesberger och Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc kommer med ABSOLUT INGEN GARANTI.\n" +"Detta är fri programvara och du är välkommen att distribuera den under\n" +"villkoren för GNU General Public License.\n" +"För mer information om dessa villkor, se filerna kallade COPYING.\n" +"Följande text är en informell översättning som enbart tillhandahÃ¥lls\n" +"i informativt syfte. För alla juridiska tolkningar gäller den engelska " +"originaltexten.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Kan inte öppna katalogen /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Kan inte allokera minne för matchande proc: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Angivna filnamnet %s finns inte.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Kan inte ta status pÃ¥ %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Kan inte slÃ¥ upp lokal port %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Okänt lokal port AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Kan inte öppna protokollfilen \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Ogiltig flagga %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Flagga för namnrymd kräver ett argument." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Ogiltigt namn för namnrymd" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Du kan endast använda filer med monteringspunktflaggor" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Ingen processpecifikation angiven" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "flagga för alla, -m, kan inte användas med flaggan för tyst, -s." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Du kan inte söka efter endast IPv4- och endast IPv6-uttag samtidigt" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s ANVÄNDARE PID ÅTKOMS KOMMANDO\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(okänd)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Kan inte ta status pÃ¥ fil %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Kan inte öppna /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Döda process %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Kunde inte döda process %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Kan inte öppna ett nätverksuttag.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Kan inte hitta uttagets enhetsnummer.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Döda %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Signalera %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "Kan inte hämta UID frÃ¥n processtatus\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "Felaktigt reguljärt uttryck: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "hoppar över delvis matchande process: %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Dödade %s(%s%d) med signal %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: ingen process hittades\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Användning: killall [-Z KONTEXT] [-u ANVÄNDARE] [ -eIgiqrvw ] [ -SIGNAL ] " +"NAMN...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Användning: killall [FLAGGA]... [--] NAMN...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact kräver exakt matchning för väldigt lÃ¥nga namn\n" +" -I,--ignore-case ingen skillnad pÃ¥ gemener/versaler vid namnmatchning\n" +" -g,--process-group döda processgrupp istället för process\n" +" -y,--younger-than döda processer yngre än TID\n" +" -o,--older-than döda processer äldre än TID\n" +" -i,--interactive frÃ¥ga efter bekräftelse före dödandet\n" +" -l,--list lista alla kända signalnamn\n" +" -q,--quiet skriv inte ut klagomÃ¥l\n" +" -r,--regexp tolka NAMN som ett utökat reguljärt uttryck\n" +" -s,--signal SIGNAL skicka signal istället för SIGTERM\n" +" -u,--user ANVÄNDARE döda endast process(er) som körs som ANVÄNDARE\n" +" -v,--verbose rapportera om signalen blev skickad korrekt\n" +" -V,--version visa versionsinformation\n" +" -w,--wait vänta tills processerna är döda\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP döda endast process(er) som har kontext\n" +" (mÃ¥ste föregÃ¥ andra argument)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2010 Werner Almesberger och Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Ogiltigt tidsformat" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Kan inte hitta användare %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Felaktigt reguljärt uttryck: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "Maximalt antal namn är %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s är tom (inte monterad?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Fel vid koppling till pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Användning: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 skriv ut 8-bitars rena strömmar.\n" +" -n visa inte läs/skriv frÃ¥n fd-huvuden.\n" +" -c titta även pÃ¥ alla nya barnprocesser.\n" +" -d Ta bort dubletter av läs/skriv frÃ¥n utdata.\n" +" -V visar versionsinformation.\n" +" -h visar den här hjälpen.\n" +"\n" +" Tryck CTRL-C för att avsluta utdata.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Användning: prtstat [flaggor] PID ...\n" +" prtstat -V\n" +"Skriv ut information om en process\n" +" -r,--raw RÃ¥ visning av information\n" +" -V,--version Visa versionsinformation och avsluta\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright © 2009 Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "kör" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "sover" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "okänd" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Process: %-14s\t\tTillstÃ¥nd: %c (%s)\n" +" Proc.: %-3d\t\tTTY: %s\tTrÃ¥dar: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf i print_stat misslyckades.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "NÃ¥gon process med pid %d finns inte.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Ogiltig flagga" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Du mÃ¥ste tillhandahÃ¥lla minst en PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc är inte monterad, kan inte ta status pÃ¥ /proc/self/stat.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s är tom (inte monterad?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Användning: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | ANVÄNDARE]\n" +" pstree -V\n" +"Visa ett träd av processer.\n" +"\n" +" -a, --arguments visa kommandoradsargument\n" +" -A, --ascii använd ASCII-linjeritningstecken\n" +" -c, --compact komprimera inte identiska underträd\n" +" -h, --highlight-all markera aktuell process och dess förfäder\n" +" -H PID,\n" +" --highlight-pid=PID markera denna process och dess förfäder\n" +" -G, --vt100 använd VT100-linjeritningstecken\n" +" -l, --long korta inte ner lÃ¥nga rader\n" +" -n, --numeric-sort sortera utdata efter PID\n" +" -p, --show-pids visa PID:ar; medför -c\n" +" -u, --uid-changes visa uid-övergÃ¥ngar\n" +" -U, --unicode använd UTF-8-linjeritningstecken (Unicode)\n" +" -V, --version visa versionsinformation\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show SELinux-säkerhetskontexter\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID starta vid denna PID; standardvärde är 1 (init)\n" +" ANVÄNDARE visa endast träd med denna användares\n" +" processer som rot.\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Copyright © 1993-2009 Werner Almesberger och Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM är inte inställd\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Kan inte ta reda pÃ¥ terminalens förmÃ¥gor\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Ingen sÃ¥dan användare: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Inga processer hittades.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Tryck Retur för att stänga\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: okänd signal; %s -l listar signaler.\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Användning: pidof [-eg] NAMN...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e kräv exakt matchning för lÃ¥nga namn;\n" +#~ " hoppa över om kommandoraden är otillgänglig\n" +#~ " -g visa processgruppens ID istället för processens ID\n" +#~ " -V visa versionsinformation\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Copyright © 1993-2005 Werner Almesberger och Craig Small\n" +#~ "\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "" +#~ "Du kan inte använda monterade och monteringspunktflaggorna samtidigt" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Kan inte ta status pÃ¥ monteringspunkten %s: %s\n" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "Kan inte öppna /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "Internt fel: MAX_DEPTH är inte tillräckligt stor.\n" + +#~ msgid "Cannot open protocol file \"%s\": %s" +#~ msgstr "Kan inte öppna protokollfil \"%s\": %s" diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000..786fa76 Binary files /dev/null and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..e0fff7e --- /dev/null +++ b/po/uk.po @@ -0,0 +1,694 @@ +# Ukrainian translation for psmisc. +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# +# Yuri Chornoivan , 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: psmisc-22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-08-31 19:30+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.5\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Користування: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n ПРОСТІР] [-k [-i] [-" +"СИГНАЛ]] НАЗВА...\n" +" fuser -l\n" +" fuser -V\n" +"Показує, які процеси користуються вказаними файлами, сокетами або файловими " +"системами.\n" +"\n" +" -a,--all показувати також невикористані файли\n" +" -i,--interactive запитувати перед завершенням роботи процесу " +"(ігнорується без -k)\n" +" -k,--kill завершити роботу процесів, які користуються " +"вказаним файлом\n" +" -l,--list-signals показати список доступних назв сигналів\n" +" -m,--mount показати всі процеси, що використовують вказані " +"файлові системи або блоковий пристрій\n" +" -M,--ismountpoint виконати запит, лише якщо НАЗВА є точкою " +"монтування\n" +" -n,--namespace ПРОСТІР шукати лише у вказаному просторі назв (file, udp " +"або tcp)\n" +" -s,--silent не виводити повідомлень\n" +" -СИГНАЛ надіслати вказаний сигнал замість SIGKILL\n" +" -u,--user показувати ідентифікатори користувачів\n" +" -v,--verbose виводити дані докладно\n" +" -w,--writeonly завершити роботу лише процесів з доступом на запис\n" +" -V,--version показати дані щодо версії\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 шукати лише серед сокетів IPv4\n" +" -6,--ipv6 шукати лише серед сокетів IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - скинути параметри\n" +"\n" +" назви udp/tcp: [локлаьний_порт][,[вузол_rmt][,[порт_rmt]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"© Werner Almesberger та Craig Small, 1993–2010\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"Щодо PSmisc вам НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.\n" +"Це вільне програмне забезпечення, ми будемо раді, якщо ви поширюватимете\n" +"його відповідно до умов Загальної громадської ліцензії GNU (GPL).\n" +"Щоб дізнатися більше про це, ознайомтеся з файлом з назвою COPYING.\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Не вдалося відкрити каталог /proc: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Не вдалося отримати область пам’яті для відповідного процесу: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Файл з вказаною назвою, %s, не існує.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Не вдалося отримати дані за допомогою stat %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Не вдалося визначити локальний порт %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Невідомий локальний порт AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Не вдалося відкрити файл протоколу «%s»: %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: некоректний параметр, %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Параметр простору назв слід вказувати з аргументом." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Некоректна назва простору назв" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Файли можна використовувати лише разом з параметрами точки монтування" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "Не вказано специфікації процесу" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "параметр «all» не можна використовувати разом з параметром «silent»." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "" +"Одночасно можна виконувати пошук лише для сокетів IPv4 або сокетів IPv6" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s КОРИСТУВАЧ PID ДОСТУП КОМАНДА\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(невідомий)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Не вдалося обробити файл за допомогою stat %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Не вдалося відкрити /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Завершити процес %d? (y (так) або N (ні)) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Не вдалося завершити роботу процесу %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Не вдалося відкрити сокет мережі.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Не вдалося визначити номер пристрою сокета.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Завершити роботу %s(%s%d)? (y (так) або N (ні)) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Надіслати сигнал %s(%s%d)? (y (так) або N (ні)) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: не вдалося отримати UID з даних щодо стану процесу\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: помилковий формальний вираз: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: пропускаємо частковий відповідник %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Завершено роботу %s(%s%d) за допомогою сигналу %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: процес не знайдено\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Використання: killall [-Z КОНТЕКСТ] [-u КОРИСТУВАЧ] [ -eIgiqrvw ] [ -" +"СИГНАЛ ] НАЗВА...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Використання: killall [ПАРАМЕТР]... [--] НАЗВА...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact вимагати повної відповідності для дуже довгих назв\n" +" -I,--ignore-case встановлювати відповідність без врахування регістру " +"символів\n" +" -g,--process-group завершити роботу групи процесів, а не окремого " +"процесу\n" +" -y,--younger-than завершити роботу процесів, чий вік не перевищує " +"вказаного часу\n" +" -o,--older-than завершити роботу процесів, чий вік перевищує вказаний " +"час\n" +" -i,--interactive просити підтвердження щодо завершення роботи\n" +" -l,--list показати список всіх відомих назв сигналів\n" +" -q,--quiet не виводити повідомлень\n" +" -r,--regexp вважати параметр НАЗВА формальним виразом\n" +" -s,--signal СИГНАЛ надіслати вказаний сигнал замість SIGTERM\n" +" -u,--user КОРИСТУВАЧ завершити роботу лише процесів КОРИСТУВАЧа\n" +" -v,--verbose повідомляти про успішне надсилання сигналу\n" +" -V,--version показати дані щодо версії\n" +" -w,--wait чекати на завершення процесів\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP завершити роботу лише процесів з відповідним " +"контекстом\n" +" (слід вказувати перед іншими аргументами)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"© Werner Almesberger та Craig Small, 1993–2012\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Некоректний формат визначення часу" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Не вдалося знайти користувача %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Помилковий формальний вираз: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: максимальною кількістю назв є %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s не містить записів процесів (не змонтовано?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Помилка під час спроби приєднатися до pid %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"© Trent Waddington, 2007\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Використання: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 виводити 8-бітові очищені потоки даних.\n" +" -n не показувати читання/запис з заголовків дескрипторів файлів.\n" +" -c зондувати будь-які нові дочірні процеси.\n" +" -d вилучити дублікати записів читання/запису з виведених даних.\n" +" -V вивести дані щодо версії.\n" +" -h вивести ці довідкові дані.\n" +"\n" +" Натисніть Ctrl-C, щоб перервати виведення даних.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Використання: prtstat [параметри] PID ...\n" +" prtstat -V\n" +"Вивести дані що вказаного процесу\n" +" -r,--raw показати дані без обробки\n" +" -V,--version показати дані щодо версії і завершити роботу\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"© Craig Small, 2009\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "працює" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "спить" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "спить на диску" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "зомбі" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "трасування" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "гортання" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "невідомий" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Процес: %-14s\t\tСтан: %c (%s)\n" +" Проц.: %-3d\t\tTTY: %s\tПотоки: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Ідентифікатори процесу, групи і сеансу\n" +" Ід. процесу: %d\t\t Ід. батьків.: %d\n" +" Ід. групи: %d\t\t Ід. сеансу: %d\n" +" T Ід. групи: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Промахи за сторінками\n" +" Цей процес (мін. макс.): %8lu %8lu\n" +" Доч. процеси (мін. макс.): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Цикли процесора\n" +" Цей процес (користувач система гість blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Дочірній процес (користувач система гість): %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Пам’ять\n" +" Вірт. розмір: %-10s\n" +" RSS: %-10s \t\t Обмеження RSS: %s\n" +" Поч. коду: %#-10lx\t\t Кінець коду: %#-10lx\n" +" Поч. стека: %#-10lx\n" +" Вказівник стека (ESP): %#10lx\t Вказівник команди (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Планування\n" +" Правила: %s\n" +" Поступливість: %ld \t\t Пріоритет РЧ: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "Помилка asprintf у print_stat.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Процесу з pid %d не існує.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Не вдалося відкрити файл stat для процесу з pid %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Некоректний параметр" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Вам слід вказати принаймні одне значення PID." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc не змонтовано, виконання обробки /proc/self/stat неможливе.\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s є порожнім (не змонтовано?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Використання: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -" +"g ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | КОРИСТУВАЧ\t ]\n" +" pstree -V\n" +"Показати ієрархію процесів.\n" +"\n" +" -a, --arguments показати аргументи командного рядка\n" +" -A, --ascii використовувати для малювання ліній символи ASCII\n" +" -c, --compact не ущільнювати ідентичні гілки ієрархії\n" +" -h, --highlight-all позначити поточний процес та його дочірні процеси\n" +" -H PID,\n" +" --highlight-pid=PID позначити вказаний процес та його дочірні процеси\n" +" -g, --show-pgids показати ідентифікатори груп процесів; додається -c\n" +" -G, --vt100 використовувати символи малювання ліній VT100\n" +" -l, --long не обрізати довгі рядки\n" +" -n, --numeric-sort впорядкувати дані за PID\n" +" -p, --show-pids показати PID; додається -c\n" +" -s, --show-parents показати основні процеси вибраного процесу\n" +" -u, --uid-changes показати переходи uid\n" +" -U, --unicode використовувати символи малювання ліній UTF-8 " +"(Unicode)\n" +" -V, --version показати дані щодо версії програми\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z показати контексти захисту SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID розпочати з вказаного PID; типовим початковим значенням є 1 " +"(init)\n" +" КОРИСТУВАЧ показати лише ієрархії з кореневими процесами цього " +"користувача\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"© Werner Almesberger та Craig Small, 1993–2009\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "Не встановлено змінної TERM\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Не вдалося отримати дані щодо можливостей термінала\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Користувача з таким іменем не існує: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Не знайдено жодного процесу.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Натисніть Enter, щоб закрити.\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "" +"%s: невідомий сигнал; щоб отримати список сигналів віддайте команду %s -l .\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Використання: pidof [ -eg ] НАЗВА...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e вимагати повної відповідності для дуже довгих назв;\n" +#~ " пропустити, якщо не вдається визначити рядок команди\n" +#~ " -g показувати ідентифікатор групи процесу замість ідентифікатора " +#~ "процесу\n" +#~ " -V показати дані щодо версії\n" +#~ "\n" diff --git a/po/vi.gmo b/po/vi.gmo new file mode 100644 index 0000000..e2f0dc4 Binary files /dev/null and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..2bbf2f5 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,695 @@ +# Vietnamese translation for PSmisc. +# Copyright © 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Clytie Siddall , 2005, 2006, 2007, 2008, 2009, 2010. +# Trần Ngọc Quân , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.20rc1\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2012-09-01 07:54+0700\n" +"Last-Translator: Trần Ngọc Quân \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: src/fuser.c:133 +#, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Sá»­ dụng: fuser [ -fMuvw ] [-a|-s] [-4|-6] [-c|-m|-n KHOẢNG] [-k [-i] [-" +"TÍN_HIỆU]] TÊN...\n" +" fuser -l\n" +" fuser -V\n" +"Hiển thị những tiến trình nào đang dùng những tập tin, ổ cắm hay hệ thống " +"tập tin có tên đưa ra.\n" +"\n" +" -a,--all cÅ©ng hiển thị các tập tin không dùng\n" +" -i,--interactive hỏi trước khi ép buộc (bị bỏ qua mà không có \"-k" +"\")\n" +" -k,--kill buộc kết thúc mỗi tiến trình đang truy cập đến tập " +"tin có tên đưa ra\n" +" -l,--list-signals liệt kê những tên tín hiệu vẫn sẵn sàng\n" +" -m,--mount hiển thị tất cả các tiến trình đang sá»­ dụng\n" +"\t\tnhững hệ thống tập tin hay thiết bị khối có tên đưa ra\n" +" -M,--ismountpoint đáp ứng chỉ khi TÊN là một điểm lắp\n" +" -n,--namespace KHOẢNG tìm kiếm trong miền tên này (file, udp hay tcp)\n" +" -s,--silent không xuất chi tiết\n" +" -SIGNAL gá»­i tín hiệu này thay cho SIGKILL\n" +" -u,--user hiển thị các mã nhận diện người dùng (UID)\n" +" -v,--verbose kết xuất chi tiết\n" +" -w,--writeonly chỉ buộc chấm dứt những tiến trình mà có quyền ghi\n" +" -V,--version hiển thị thông tin về phiên bản\n" + +#: src/fuser.c:150 +#, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4,--ipv4 chỉ tìm kiếm ổ cắm kiểu IPv4\n" +" -6,--ipv6 chỉ tìm kiếm ổ cắm kiểu IPv6\n" + +#: src/fuser.c:153 +#, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - \tđặt lại các tùy chọn\n" +"\n" +" Các tên udp/tcp: [cổng_cục_bộ][,[máy_từ_xa][,[cổng_từ_xa]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Tác quyền © năm 1993-2010 của Werner Almesberger và Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc không bảo đảm gì cả.\n" +"Đây là phần mềm tá»± do thì bạn có thể phân phối nó với điều kiện của\n" +"Quyền Công Chung Gnu (GPL).\n" +"Để tìm thấy thông tin thêm thì hãy xem tập tin có tên COPYING (cách chép)\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "Không thể mở thÆ° mục : %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Không thể cấp phát bộ nhớ cho tiến trình được khớp: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "Đưa ra tên tập tin %s không tồn tại.\n" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "Không thể lấy các thông tin về %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "Không tìm thấy tên cổng cục bộ %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "Không biết cổng cục bộ AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "Không thể mở tập tin giao thức \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "%s: Sai đặt tuỳ chọn %s\n" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "Tùy chọn miền tên cần đến một đối số." + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "Tên miền tên không hợp lệ" + +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" +msgstr "Bạn có thể sá»­ dụng tập tin chỉ với tùy chọn điểm_lắp" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "ChÆ°a nhập đặc tả tiến trình" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "tất cả các tùy chọn không cho phép bạn dùng với tùy chọn \"im lặng\"." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Không cho phép bạn tìm kiếm ổ cắm kiểu cả IPv4 lẫn IPv6 đều đồng thời" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s NGƯỜI_DÙNG PID TRUY_CẬP LỆNH\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(không biết)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "Không thể lấy các thông tin về tập tin %s: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "Không thể mở thÆ° mục : %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "Có buộc kết thúc tiến trình %d không? (y/N) (có/không) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "Không thể buộc kết thúc tiến trình %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "Không thể mở một ổ cắm mạng.\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "Không tìm thấy số hiệu thiết bị ổ cắm.\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "Có buộc kết thúc %s(%s%d) không? (c/K)" + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "Tín hiệu %s(%s%d) không? (y/N)(c/K) " + +#: src/killall.c:211 +#, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "killall: Không thể lấy UID từ trạng thái của tiến trình\n" + +#: src/killall.c:237 +#, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "killall: Biểu thức chính quy sai: %s\n" + +#: src/killall.c:447 +#, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "killall: bỏ qua phần khớp thiên lệch %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "Mới buộc kết thúc %s(%s%d) với tín hiệu %d\n" + +#: src/killall.c:576 +#, c-format +msgid "%s: no process found\n" +msgstr "%s: không tìm thấy tiến trình\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Cách sá»­ dụng: killall [-Z NGá»®_CẢNH] [-u NGƯỜI_DÙNG] [ -eIgiqrvw ] [ -" +"TÍN_HIỆU ] TÊN...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "Cách sá»­ dụng: killall [ TÙY_CHỌN ]... [--] TÊN...\n" + +#: src/killall.c:621 +#, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list \t\t(_liệt kê_)\n" +" killall -V, --version \t\t(_phiên bản_)\n" +"\n" +" -e,--exact \t\tcần đến điều khớp chính xác với mọi tên rất dài\n" +" -I,--ignore-case \t_bỏ qua chữ hoa/thường khi khớp tên tiến trình\n" +" -g,--process-group \tbuộc kết thúc nhóm tiến trình thay thế tiến trình\n" +" -y,--younger-than buộc kết thúc mỗi tiến trình mới hÆ¡n THỜI_GIAN\n" +" -o,--older-than buộc kết thúc mỗi tiến trình cÅ© hÆ¡n THỜI_GIAN\n" +" -i,--interactive \t\txin xác nhận trước khi buộc kết thúc\n" +" -l,--list \t\tliệt kê mọi tên tín hiệu đã biết\n" +" -q,--quiet \t\tkhông hiển thị lời than phiền (_im_)\n" +" -r,--regexp \t\tgiải thích TÊN là biểu thức chính quy nối dài\n" +" -s,--signal TÍN_HIỆU\t\tgởi tín hiệu này thay thế SIGTERM\n" +" -u,--user NG_DÙNG \tbuộc kết thúc chỉ những tiến trình đang chạy\n" +"\t\t\t\t\t\t\tvới tÆ° cách người dùng này\n" +" -v,--verbose \tthông báo khi đã gởi tín hiệu\n" +" -V,--version \thiện thông tin phiên bản\n" +" -w,--wait \t\tđợi tiến trình kết thúc\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context BIỂU_THỨC_CHÍNH _QUY\n" +"\t\tbuộc kết thúc chỉ những tiến trình có ngữ cảnh\n" +"\t\t\t(phải đi trước các đối số khác)\n" + +#: src/killall.c:651 +#, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Tác quyền © năm 1993-2012 của Werner Almesberger và Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Sai đặt định dạng thời gian" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "Không tìm thấy người dùng %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "Biểu thức chính quy sai: %s\n" + +#: src/killall.c:830 +#, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Số lượng tên tối đa là %d\n" + +#: src/killall.c:835 +#, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s thiếu các mục tuyến trình (đã gắn (mount) chÆ°a?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Gặp lỗi khi đính kèm đến PID %i\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"Tác quyền © năm 2007 của Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"Cách sá»­ dụng: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 \txuất luồng sạch 8-bit.\n" +" -n \tkhôNg hiển thị đọc/viết từ phần đầu fd.\n" +" -c \tCÅ©ng hé nhìn tiến trình con mới nào.\n" +" -d \tgỡ bỏ đọc/viết trùng ra Dữ liệu xuất.\n" +" -V \thiển thị thông tin Về phiên bản.\n" +" -h \tHiển thị trợ giúp này.\n" +"\n" +" Bấm tổ hợp phím CTRL-C để thôi xuất.\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" +"Sá»­ dụng: prtstat [tùy_chọn...] PID ...\n" +" prtstat -V\n" +"In ra thông tin về một tiến trình nào đó (PID là mã số tiến trình)\n" +" -r,--raw Hiển thị thông tin dạng thô\n" +" -V,--version Hiển thị thông tin về phiên bản, sau đó thoát\n" + +#: src/prtstat.c:65 +#, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Tác quyền © năm 2009 của Craig Small\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "đang chạy" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "đang ngủ" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "đĩa ngủ" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "ma" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "đã tìm vết" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "đang dàn trang" + +#: src/prtstat.c:90 +msgid "unknown" +msgstr "không rõ" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" +"Tiến trình: %-14s\t\tTình trạng: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tNhánh: %ld\n" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" +"Mã số cho tiến trình, nhóm và buổi hợp\n" +" Mã số Tiến trình: %d\tMã số Trình mẹ: %d\n" +" Mã số Nhóm: %d\tMã số Buổi hợp: %d\n" +" Mã số Nhóm T: %d\n" +"\n" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" +"Sai trang\n" +" Tiến trình này\t(nhỏ lớn): %8lu %8lu\n" +" Tiến trình con\t(nhỏ lớn): %8lu %8lu\n" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" +"Thời gian sá»­ dụng CPU\n" +" Tiến trình này\t(ndùng hệ khách khốiVR): %6.2f %6.2f %6.2f %6.2f\n" +" Tiến trình con\t(ndùng hệ khách):\t %6.2f %6.2f %6.2f\n" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" +"Vùng nhớ\n" +" Cỡ ảo: %-10s\n" +" RSS: %-10s \t\t Giới hạn RSS: %s\n" +" Đầu mã: %#-10lx\t\t Cuối mã: %#-10lx\n" +" Đầu đống: %#-10lx\n" +" Con trỏ đống (ESP): %#10lx\t Con trỏ thể hiện (EIP): %#10lx\n" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" +"Định thời\n" +" Chính sách: %s\n" +" Mức Æ°u tiên: %ld \t\t Mức Æ°u tiên RT: %ld %s\n" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf trong print_stat bị lỗi.\n" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Tiến trình có PID %d không tồn tại.\n" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Không thể mở tập tin trạng thái về PID %d (%s)\n" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Sai tuỳ chọn" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Phải cung cấp ít nhất một PID (mã số tiến trình)." + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" +"ChÆ°a gắn kết \"/proc\" thì không lấy được trạng thái về \"/proc/self/stat».\n" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s trống (lắp chÆ°a?)\n" + +#: src/pstree.c:830 +#, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"Sá»­ dụng: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] " +"[ -u ]\n" +" [ -A | -G | -U ] [ PID | NGƯỜI_DÙNG]\n" +" pstree -V\n" +"\n" +"Hiển thị các tiến trình ở dạng cây.\n" +"\n" +" -a, --arguments hiển thị các đối số dòng lệnh\n" +" -A, --ascii dùng các ký tá»± vẽ đường kiểu ASCII\n" +" -c, --compact đừng kết lại các cây phụ trùng nhau\n" +" -h, --highlight-alt tô sáng tiến trình đang chạy và các tiến trình " +"cấp trên\n" +" -H PID,\n" +" --highlight-pid=PID tô sáng tiến trình này và các tiến trình cấp trên\n" +" -g, --show-pgids hiển thị id nhóm tiến trình; ngụ ý sá»­ dụng -c\n" +" -G, --vt100 dùng các ký tá»± vẽ đường kiểu VT100\n" +" -l, --long đừng cắt ngắn dòng dài\n" +" -n, --numeric-sort sắp xếp kết xuất theo PID (mã số tiến trình)\n" +" -p, --show-pids hiển thị các PID (ngụ ý sá»­ dụng \"-c\")\n" +" -u, --uid-changes hiển thị các sá»± chuyển tiếp UID (mã số người dùng)\n" +" -U, --unicode dùng các ký tá»± vẽ đường sá»­ dụng bảng mã UTF-8 " +"(Unicode)\n" +" -V, --version hiển thị thông tin về phiên bản\n" + +#: src/pstree.c:850 +#, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z show Các ngữ cảnh bảo mật SELinux\n" + +#: src/pstree.c:852 +#, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID \t\t\tbắt đầu ở PID này; mặc định là 1 (init)\n" +" NGƯỜI_DÙNG \thiển thị chỉ những cây có gốc là tiến trình của người dùng " +"này\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"Tác quyền © 1993-2009 Werner Almesberger và Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "ChÆ°a đặt TERM\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "Không thể gọi khả năng thiết bị cuối\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "Không có tên người dùng nhÆ° vậy: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "Không tìm thấy tiến trình.\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "Bấm phím Return để đóng\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: không rõ tín hiệu; câu lệnh \"%s -l\" liệt kê các tín hiệu\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "Cách sá»­ dụng: pidof [ -eg ] TÊN ...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e cần đến điều khớp _chính xác_ với mọi tên rất dài\n" +#~ "\tbỏ qua nếu không có dòng lệnh sẵn sàng\n" +#~ " -g hiện ID của _nhóm_ tiến trình thay thế ID tiến trình\n" +#~ " -V hiện thông tin _phiên bản_\n" +#~ "\n" + +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" +#~ msgstr "" +#~ "Bản quyền © 1993-2005 Werner Almesberger và Craig Small\n" +#~ "\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo new file mode 100644 index 0000000..79f48a2 Binary files /dev/null and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..25fe07b --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,654 @@ +# Chinese translations for psmisc package +# psmisc 软件包的简体中文翻译. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# LI Daobing , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.6\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2007-11-06 21:28+0800\n" +"Last-Translator: LI Daobing \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"Usage: fuser [ -a | -s | -c ] [ -n 名字空间 ] [ -信号 ] [ -kimuv ] 名字...\n" +" [ - ] [ -n 名字空间 ] [ -信号 ] [ -kimuv ] 名字...\n" +" fuser -l\n" +" fuser -V\n" +"显示哪些进程使用指定的文件,端口或文件系统。\n" +"\n" +" -a 也显示未使用的文件\n" +" -c 已挂载的文件系统\n" +" -f 被悄悄忽略的选项(为了 POSIX 兼容性)\n" +" -i 杀死程序前询问 (未指定 -k 选项时被忽略)\n" +" -k 杀死访问指定文件的进程\n" +" -l 显示可用的信号名\n" +" -m 显示所有使用指定文件系统的进程\n" +" -n 名字空间 在指定名字空间中查找(file, udp 或 tcp)\n" +" -s 不输出信息\n" +" -信号 输出 \"信号\" 而不是 SIGKILL\n" +" -u 显示用户 ID\n" +" -v 输出更多信息\n" +" -V 显示版本信息\n" + +#: src/fuser.c:150 +#, fuzzy, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4 仅查找 IPv4 端口\n" +" -6 仅查找 IPv6 端口\n" + +#: src/fuser.c:153 +#, fuzzy, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - 重置选项\n" +"\n" +" udp/tcp 名字格式: [本地端口][,[远程主机][,[远程端口]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"版权所有 © 1993-2005 Werner Almesberger 和 Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc 无任何保证。\n" +"该程序为自由软件,欢迎你在 GNU 通用公共许可证(GPL) 下重新发布。\n" +"详情可参阅 COPYING 文件。\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "无法打开 /proc 目录: %s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "无法为已找到的进程分配内存: %s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "无法分析 %s: %s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "无法解析本地端口 %s: %s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "未知本地端口 AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "无法打开协议文件 \"%s\": %s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "名字空间选项需要一个参数" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "无效的名字空间名" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "你只能使用有挂载选项的文件。" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "未指定进程" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "所有选项都不能与不输出信息选项同时使用。" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "你无法同时搜索 IPv4 和 IPv6 端口" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s 用户 进程号 权限 命令\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(未知)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "无法获取 %s 的文件状态: %s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "无法打开 /proc/net/unix: %s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "杀死进程 %d ? (y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "无法杀死进程 %d: %s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "无法打开网络端口。\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "无法找到 socket 的设备号。\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "杀死 %s(%s%d) ? (y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "信号 %s(%s%d) ? (y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "无法从进程状态获取用户ID(UID)\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "错误的正则表达式: %s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "跳过部分符合的部分 %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "%s(%s%d) 被信号 %d 杀死\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: 没有进程被杀死\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"Usage: killall [-Z 上下文] [-u 用户名] [ -eIgiqrvw ] [ -信号 ] 程序名...\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "用法: killall [选项]... [--] 进程名...\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact 对长名字需要严格匹配\n" +" -I,--ignore-case 匹配进程名时忽略大小写\n" +" -g,--process-group 杀死进程组而不是进程\n" +" -i,--interactive 在杀死进程前要求确认\n" +" -l,--list 显示所有的信号名\n" +" -q,--quiet 不要打印抱怨信息\n" +" -r,--regexp 将 \"进程名\" 视为扩展正则表达式\n" +" -s,--signal 信号 发送 \"信号\" 而不是 SIGTERM\n" +" -u,--user 用户 仅杀死 \"用户\" 的进程\n" +" -v,--verbose 信号成功送出时打印信息\n" +" -V,--version 显示版本信息\n" +" -w,--wait 等待进程死亡\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context 正则表达式 仅杀死含有指定上下文的进程\n" +" (必须在其他参数前使用)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"版权所有 © 1993-2005 Werner Almesberger 和 Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "无法找到用户 %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "错误的正则表达式: %s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "最大名字数量是 %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s 是空的 (未挂载?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "帮定%i号进程时发生错误\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"版权所有 © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"用发: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <进程号> [<文件号> ..]\n" +" -8 输出流使用第8位(首位)。\n" +" -n 不显示读写信息。\n" +" -c 也检测新的子进程。\n" +" -d 从输出中删除重复的读写信息。\n" +" -V 输出版本信息。\n" +" -h 输出帮助。\n" +"\n" +" 输入 CTRL-C 来终止输出。\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"版权所有 © 2007 Trent Waddington\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(未知)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s 是空的 (未挂载?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"用法: pstree [ -a ] [ -c ] [ -h | -H 进程号 ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ 进程号 | 用户 ]\n" +" pstree -V\n" +"显示进程树。\n" +"\n" +" -a 显示命令行参数\n" +" -A 使用 ASCII 画线符\n" +" -c 不压缩雷同的子树\n" +" -h 高亮显示当前进程及其祖先\n" +" -H 进程号 高亮显示 \"进程号\" 指定的进程当及其祖先\n" +" -G 使用 VT100 划线符\n" +" -l 不截断长行\n" +" -n 输出按进程号排序\n" +" -p 显示进程号;隐含 -c\n" +" -u 显示用户名变换\n" +" -U 使用 UTF-8 (Unicode) 划线符\n" +" -V 显示版本信息\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z 显示 SELinux 安全环境\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" 进程号 从 \"进程号\" 开始,缺省是1(init)\n" +" 用户 仅显示从该 \"用户\" 的进程开始的进程树\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"版权所有 © 1993-2005 Werner Almesberger 和 Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "未设置环境变量TERM\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "无法获取终端大小\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "无用户名: %s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "未发现进程。\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "按回车后关闭\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: 未知的信号; %s -l 显示信号列表。\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "用法: pidof [ -eg ] 程序名...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e 对长程序名需要严格匹配\n" +#~ " 如果命令行不可用则忽略该选项\n" +#~ " -g 显示进程组ID而不是进程ID\n" +#~ " -V 显示版本信息\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "无法分析挂载点 %s: %s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "你不能同时是用已挂载和挂载点选项" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "无法打开 /etc/mtab: %s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "内部错误: MAX_DEPTH 不够大。\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo new file mode 100644 index 0000000..a18adad Binary files /dev/null and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..4bb30b5 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,655 @@ +# Traditional Chinese Messages for psmisc. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the psmisc package. +# Wei-Lun Chao , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: psmisc 22.6\n" +"Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" +"POT-Creation-Date: 2012-09-20 22:13+1000\n" +"PO-Revision-Date: 2009-03-23 23:10+0800\n" +"Last-Translator: Wei-Lun Chao \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/fuser.c:133 +#, fuzzy, c-format +msgid "" +"Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] " +"NAME...\n" +" fuser -l\n" +" fuser -V\n" +"Show which processes use the named files, sockets, or filesystems.\n" +"\n" +" -a,--all display unused files too\n" +" -i,--interactive ask before killing (ignored without -k)\n" +" -k,--kill kill processes accessing the named file\n" +" -l,--list-signals list available signal names\n" +" -m,--mount show all processes using the named filesystems or " +"block device\n" +" -M,--ismountpoint fulfill request only if NAME is a mount point\n" +" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" +" -s,--silent silent operation\n" +" -SIGNAL send this signal instead of SIGKILL\n" +" -u,--user display user IDs\n" +" -v,--verbose verbose output\n" +" -w,--writeonly kill only processes with write access\n" +" -V,--version display version information\n" +msgstr "" +"用法:fuser [ -a | -s | -c ] [ -n 空格 ] [ -SIGNAL ] [ -kimuv ] 名稱…\n" +" [ - ] [ -n 空格 ] [ -SIGNAL ] [ -kimuv ] 名稱…\n" +" fuser -l\n" +" fuser -V\n" +"顯示何項進程使用指名的檔案、通訊端或檔案系統。\n" +"\n" +" -a 也顯示未使用的檔案\n" +" -c 掛載的檔案系統\n" +" -f 安靜地忽略 (為了 POSIX 相容性)\n" +" -i 砍除之前先詢問 (若無 -k 則忽略)\n" +" -k 砍除存取指名檔案的進程\n" +" -l 列出可用的信號名稱\n" +" -m 顯示所有使用指名檔案系統的進程\n" +" -n 空間 在這個名稱空間中搜尋 (檔案、udp 或 tcp)\n" +" -s 安靜地作業\n" +" -SIGNAL 發送這個信號以代替 SIGKILL\n" +" -u 顯示使用者識別號\n" +" -v 詳細的輸出\n" +" -V 顯示版本資訊\n" + +#: src/fuser.c:150 +#, fuzzy, c-format +msgid "" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" +msgstr "" +" -4 只搜尋 IPv4 通訊端\n" +" -6 只搜尋 IPv6 通訊端\n" + +#: src/fuser.c:153 +#, fuzzy, c-format +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" +msgstr "" +" - 重置選項\n" +"\n" +" udp/tcp 名稱:[本機通訊埠][,[遠端主機][,[遠端通訊埠]]]\n" +"\n" + +#: src/fuser.c:160 +#, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" + +#: src/fuser.c:163 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"著作權 © 1993-2005 Werner Almesberger 與 Craig Small\n" +"\n" + +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 +#, c-format +msgid "" +"PSmisc comes with ABSOLUTELY NO WARRANTY.\n" +"This is free software, and you are welcome to redistribute it under\n" +"the terms of the GNU General Public License.\n" +"For more information about these matters, see the files named COPYING.\n" +msgstr "" +"PSmisc 完全不附帶任何擔保。\n" +"這是自由軟體,並且歡迎您依照 GNU 通用公共授權\n" +"來再次散布它。\n" +"請參看名為 COPYING 的檔案,以獲得更多關於這些問題的資訊。\n" + +#: src/fuser.c:184 +#, c-format +msgid "Cannot open /proc directory: %s\n" +msgstr "無法開啟 /proc 目錄:%s\n" + +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 +#, c-format +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "無法為符合的進程配置記憶體:%s\n" + +#: src/fuser.c:478 +#, c-format +msgid "Specified filename %s does not exist.\n" +msgstr "" + +#: src/fuser.c:481 +#, c-format +msgid "Cannot stat %s: %s\n" +msgstr "無法顯示 %s:%s\n" + +#: src/fuser.c:618 +#, c-format +msgid "Cannot resolve local port %s: %s\n" +msgstr "無法解析本機通訊埠 %s:%s\n" + +#: src/fuser.c:636 +#, c-format +msgid "Unknown local port AF %d\n" +msgstr "不明的本機通訊埠 AF %d\n" + +#: src/fuser.c:724 +#, c-format +msgid "Cannot open protocol file \"%s\": %s\n" +msgstr "無法開啟協定檔案「%s」:%s\n" + +#: src/fuser.c:972 +#, c-format +msgid "%s: Invalid option %s\n" +msgstr "" + +#: src/fuser.c:1023 +msgid "Namespace option requires an argument." +msgstr "名稱空間選項需要一個引數。" + +#: src/fuser.c:1041 +msgid "Invalid namespace name" +msgstr "無效的名稱空間名稱" + +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" +msgstr "您只能將檔案與掛載點選項一起使用" + +#: src/fuser.c:1156 +msgid "No process specification given" +msgstr "沒有給定任何進程規格" + +#: src/fuser.c:1163 +msgid "all option cannot be used with silent option." +msgstr "所有選項無法與安靜選項一起使用。" + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "您無法同時只搜尋 IPv4 又只搜尋 IPv6 通訊端" + +#: src/fuser.c:1246 +#, c-format +msgid "%*s USER PID ACCESS COMMAND\n" +msgstr "%*s 使用者 PID 存取命令\n" + +#: src/fuser.c:1279 src/fuser.c:1336 +msgid "(unknown)" +msgstr "(不明)" + +#: src/fuser.c:1415 src/fuser.c:1454 +#, c-format +msgid "Cannot stat file %s: %s\n" +msgstr "無法顯示檔案 %s:%s\n" + +#: src/fuser.c:1540 +#, c-format +msgid "Cannot open /proc/net/unix: %s\n" +msgstr "無法開啟 /proc/net/unix:%s\n" + +#: src/fuser.c:1616 +#, c-format +msgid "Kill process %d ? (y/N) " +msgstr "砍除進程 %d?(y/N) " + +#: src/fuser.c:1652 +#, c-format +msgid "Could not kill process %d: %s\n" +msgstr "無法砍除進程 %d:%s\n" + +#: src/fuser.c:1667 +#, c-format +msgid "Cannot open a network socket.\n" +msgstr "無法開啟網路通訊端。\n" + +#: src/fuser.c:1671 +#, c-format +msgid "Cannot find socket's device number.\n" +msgstr "找不到通訊端裝置編號。\n" + +#: src/killall.c:100 +#, c-format +msgid "Kill %s(%s%d) ? (y/N) " +msgstr "砍除 %s(%s%d)?(y/N) " + +#: src/killall.c:103 +#, c-format +msgid "Signal %s(%s%d) ? (y/N) " +msgstr "信號 %s(%s%d)?(y/N) " + +#: src/killall.c:211 +#, fuzzy, c-format +msgid "killall: Cannot get UID from process status\n" +msgstr "無法從進程狀態取得 UID\n" + +#: src/killall.c:237 +#, fuzzy, c-format +msgid "killall: Bad regular expression: %s\n" +msgstr "不當的正規表示式:%s\n" + +#: src/killall.c:447 +#, fuzzy, c-format +msgid "killall: skipping partial match %s(%d)\n" +msgstr "跳過部份符合 %s(%d)\n" + +#: src/killall.c:562 +#, c-format +msgid "Killed %s(%s%d) with signal %d\n" +msgstr "藉由信號 %4$d 砍除 %1$s(%2$s%3$d)\n" + +#: src/killall.c:576 +#, fuzzy, c-format +msgid "%s: no process found\n" +msgstr "%s: 沒有砍除任何進程\n" + +#: src/killall.c:615 +#, c-format +msgid "" +"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +msgstr "" +"用法:killall [-Z 上下文] [-u 使用者] [ -eIgiqrvw ] [ -SIGNAL ] 名稱…\n" + +#: src/killall.c:618 +#, c-format +msgid "Usage: killall [OPTION]... [--] NAME...\n" +msgstr "用法:killall [選項]… [--] 名稱…\n" + +#: src/killall.c:621 +#, fuzzy, c-format +msgid "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact require exact match for very long names\n" +" -I,--ignore-case case insensitive process name match\n" +" -g,--process-group kill process group instead of process\n" +" -y,--younger-than kill processes younger than TIME\n" +" -o,--older-than kill processes older than TIME\n" +" -i,--interactive ask for confirmation before killing\n" +" -l,--list list all known signal names\n" +" -q,--quiet don't print complaints\n" +" -r,--regexp interpret NAME as an extended regular expression\n" +" -s,--signal SIGNAL send this signal instead of SIGTERM\n" +" -u,--user USER kill only process(es) running as USER\n" +" -v,--verbose report if the signal was successfully sent\n" +" -V,--version display version information\n" +" -w,--wait wait for processes to die\n" +msgstr "" +" killall -l, --list\n" +" killall -V, --version\n" +"\n" +" -e,--exact 對於很長的名稱需要精確的符合\n" +" -I,--ignore-case 進程名稱符合時大小寫不須相符\n" +" -g,--process-group 砍除進程群組以代替進程\n" +" -i,--interactive 砍除之前徵詢確認\n" +" -l,--list 列出所有已知信號名稱\n" +" -q,--quiet 不印出抱怨訊息\n" +" -r,--regexp 將名稱以進階正規表示式解譯\n" +" -s,--signal 信號 發送這個信號以代替 SIGTERM\n" +" -u,--user 使用者 只砍除指定使用者執行的進程\n" +" -v,--verbose 如果信號已被成功發送則回報\n" +" -V,--version 顯示版本資訊\n" +" -w,--wait 等待進程的消滅\n" + +#: src/killall.c:639 +#, c-format +msgid "" +" -Z,--context REGEXP kill only process(es) having context\n" +" (must precede other arguments)\n" +msgstr "" +" -Z,--context REGEXP 只砍除有此上下文的進程\n" +" (必須位於其他引數之前)\n" + +#: src/killall.c:651 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"著作權 © 1993-2005 Werner Almesberger 與 Craig Small\n" +"\n" + +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "" + +#: src/killall.c:767 +#, c-format +msgid "Cannot find user %s\n" +msgstr "找不到使用者 %s\n" + +#: src/killall.c:798 +#, c-format +msgid "Bad regular expression: %s\n" +msgstr "不當的正規表示式:%s\n" + +#: src/killall.c:830 +#, fuzzy, c-format +msgid "killall: Maximum number of names is %d\n" +msgstr "名稱的最大數量為 %d\n" + +#: src/killall.c:835 +#, fuzzy, c-format +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "%s 是空的 (尚未掛載?)\n" + +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "附加到 pid %i 時發生錯誤\n" + +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" +msgstr "" +"著作權 © 2007 Trent Waddington\n" +"\n" + +#: src/peekfd.c:116 +#, c-format +msgid "" +"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 output 8 bit clean streams.\n" +" -n don't display read/write from fd headers.\n" +" -c peek at any new child processes too.\n" +" -d remove duplicate read/writes from the output.\n" +" -V prints version info.\n" +" -h prints this help.\n" +"\n" +" Press CTRL-C to end output.\n" +msgstr "" +"用法:peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" +" -8 輸出不含第八位元的資料流。\n" +" -n 不從 fd 標頭顯示讀取/寫入。\n" +" -c 也取自任何新的子進程。\n" +" -d 從輸出移除重複的讀取/寫入。\n" +" -V 印出版本資訊。\n" +" -h 印出這個說明。\n" +"\n" +" 按下 CTRL-C 以結束輸出。\n" + +#: src/prtstat.c:54 +#, c-format +msgid "" +"Usage: prtstat [options] PID ...\n" +" prtstat -V\n" +"Print information about a process\n" +" -r,--raw Raw display of information\n" +" -V,--version Display version information and exit\n" +msgstr "" + +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/prtstat.c:66 +#, fuzzy, c-format +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"著作權 © 2007 Trent Waddington\n" +"\n" + +#: src/prtstat.c:78 +msgid "running" +msgstr "" + +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "" + +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "" + +#: src/prtstat.c:84 +msgid "zombie" +msgstr "" + +#: src/prtstat.c:86 +msgid "traced" +msgstr "" + +#: src/prtstat.c:88 +msgid "paging" +msgstr "" + +#: src/prtstat.c:90 +#, fuzzy +msgid "unknown" +msgstr "(不明)" + +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" + +#: src/prtstat.c:169 +#, c-format +msgid "" +"Process, Group and Session IDs\n" +" Process ID: %d\t\t Parent ID: %d\n" +" Group ID: %d\t\t Session ID: %d\n" +" T Group ID: %d\n" +"\n" +msgstr "" + +#: src/prtstat.c:175 +#, c-format +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" +msgstr "" + +#: src/prtstat.c:180 +#, c-format +msgid "" +"CPU Times\n" +" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" +" Child processes (user system guest): %6.2f %6.2f %6.2f\n" +msgstr "" + +#: src/prtstat.c:189 +#, c-format +msgid "" +"Memory\n" +" Vsize: %-10s\n" +" RSS: %-10s \t\t RSS Limit: %s\n" +" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" +" Stack Start: %#-10lx\n" +" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n" +msgstr "" + +#: src/prtstat.c:199 +#, c-format +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" + +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "" + +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "" + +#: src/prtstat.c:228 +#, c-format +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "" + +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" + +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "" + +#: src/prtstat.c:317 +#, c-format +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "" + +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s 是空的 (尚未掛載?)\n" + +#: src/pstree.c:830 +#, fuzzy, c-format +msgid "" +"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -" +"u ]\n" +" [ -A | -G | -U ] [ PID | USER ]\n" +" pstree -V\n" +"Display a tree of processes.\n" +"\n" +" -a, --arguments show command line arguments\n" +" -A, --ascii use ASCII line drawing characters\n" +" -c, --compact don't compact identical subtrees\n" +" -h, --highlight-all highlight current process and its ancestors\n" +" -H PID,\n" +" --highlight-pid=PID highlight this process and its ancestors\n" +" -g, --show-pgids show process group ids; implies -c\n" +" -G, --vt100 use VT100 line drawing characters\n" +" -l, --long don't truncate long lines\n" +" -n, --numeric-sort sort output by PID\n" +" -p, --show-pids show PIDs; implies -c\n" +" -s, --show-parents show parents of the selected process\n" +" -u, --uid-changes show uid transitions\n" +" -U, --unicode use UTF-8 (Unicode) line drawing characters\n" +" -V, --version display version information\n" +msgstr "" +"用法:pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +" [ -A | -G | -U ] [ PID | 使用者 ]\n" +" pstree -V\n" +"顯示樹的進程。\n" +"\n" +" -a 顯示命令列引數\n" +" -A 使用 ASCII 線條繪製字元\n" +" -c 不壓縮相同的子樹\n" +" -h 標示目前進程和它的原始節點\n" +" -H PID 標示這個進程和它的原始節點\n" +" -G 使用 VT100 線條繪製字元\n" +" -l 不截斷長列\n" +" -n 依照 PID 排序輸出\n" +" -p 顯示多個 PID;內含 -c\n" +" -u 顯示 uid 轉換\n" +" -U 使用 UTF-8 (萬國碼) 線條繪製字元\n" +" -V 顯示版本資訊\n" + +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" +msgstr " -Z 顯示 SELinux 安全背景\n" + +#: src/pstree.c:852 +#, fuzzy, c-format +msgid "" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" +"\n" +msgstr "" +" PID 啟始於這個 PID;預設為 1 (init)\n" +" 使用者 只顯示源於這個使用者的進程樹\n" +"\n" + +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" + +#: src/pstree.c:862 +#, fuzzy, c-format +msgid "" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" +"\n" +msgstr "" +"著作權 © 1993-2005 Werner Almesberger 與 Craig Small\n" +"\n" + +#: src/pstree.c:975 +#, c-format +msgid "TERM is not set\n" +msgstr "TERM 尚未設定\n" + +#: src/pstree.c:979 +#, c-format +msgid "Can't get terminal capabilities\n" +msgstr "無法取得終端機功能\n" + +#: src/pstree.c:1030 +#, c-format +msgid "No such user name: %s\n" +msgstr "無此類使用者名稱:%s\n" + +#: src/pstree.c:1053 +#, c-format +msgid "No processes found.\n" +msgstr "找不到任何進程。\n" + +#: src/pstree.c:1059 +#, c-format +msgid "Press return to close\n" +msgstr "按下輸入鍵以關閉\n" + +#: src/signals.c:84 +#, c-format +msgid "%s: unknown signal; %s -l lists signals.\n" +msgstr "%s: 不明的信號;%s -l 列出信號。\n" + +#~ msgid "" +#~ "Usage: pidof [ -eg ] NAME...\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e require exact match for very long names;\n" +#~ " skip if the command line is unavailable\n" +#~ " -g show process group ID instead of process ID\n" +#~ " -V display version information\n" +#~ "\n" +#~ msgstr "" +#~ "用法:pidof [ -eg ] 名稱…\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e 對於很長的名稱需要精確的符合;\n" +#~ " 如果命令列無法使用就跳過\n" +#~ " -g 顯示進程群組識別號以代替進程識別號\n" +#~ " -V 顯示版本資訊\n" +#~ "\n" + +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "無法顯示掛載點 %s:%s\n" + +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "您無法將已掛載的和掛載點旗標一起使用" + +#~ msgid "Cannot open /etc/mtab: %s\n" +#~ msgstr "無法開啟 /etc/mtab:%s\n" + +#~ msgid "Internal error: MAX_DEPTH not big enough.\n" +#~ msgstr "內部錯誤:MAX_DEPTH 不夠大。\n" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..9d6f777 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,68 @@ + +AM_CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\" @HARDEN_CFLAGS@ + +bin_PROGRAMS = killall pstree prtstat +if WANT_FUSER + bin_PROGRAMS += fuser +endif +if WANT_PEEKFD_I386 + bin_PROGRAMS += peekfd + AM_CFLAGS += -DI386 +endif +if WANT_PEEKFD_X86_64 + bin_PROGRAMS += peekfd + AM_CFLAGS += -DX86_64 +endif +if WANT_PEEKFD_PPC + bin_PROGRAMS += peekfd + AM_CFLAGS += -DPPC +endif +if WANT_PEEKFD_ARM + bin_PROGRAMS += peekfd + AM_CFLAGS += -DARM +endif +if WANT_PEEKFD_MIPS + bin_PROGRAMS += peekfd + AM_CFLAGS += -DMIPS +endif + +fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h lists.h +if WANT_TIMEOUT_STAT + fuser_SOURCES += timeout.c timeout.h +endif + +fuser_LDADD = @LIBINTL@ + +killall_SOURCES = killall.c comm.h signals.c signals.h i18n.h + +killall_LDADD = @LIBINTL@ @SELINUX_LIB@ + +peekfd_SOURCES = peekfd.c + +pstree_SOURCES = pstree.c comm.h i18n.h + +pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@ + +prtstat_SOURCES = prtstat.c prtstat.h + +prtstat_LDADD = @LIBINTL@ + +BUILT_SOURCES = signames.h + +EXTRA_DIST = signames.c + +CLEANFILES = signames.h + +signames.h: signames.c Makefile + export LC_ALL=C ; \ + @CPP@ -dM $< |\ + tr -s '\t ' ' ' | sort -n -k 3 | sed \ + 's:#define SIG\([A-Z][A-Z]*[0-9]*\) \([0-9][0-9]*\).*$\:{\ \2,"\1" },:p;d' | \ + grep -v '[0-9][0-9][0-9]' >signames.h || \ + { rm -f signames.h; exit 1; } + grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \ + { rm -f signames.h; exit 1; } + +install-exec-hook: + cd $(DESTDIR)$(bindir) && \ + ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11) diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..5b2604c --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,611 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +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@ +target_triplet = @target@ +bin_PROGRAMS = killall$(EXEEXT) pstree$(EXEEXT) prtstat$(EXEEXT) \ + $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ + $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) +@WANT_FUSER_TRUE@am__append_1 = fuser +@WANT_PEEKFD_I386_TRUE@am__append_2 = peekfd +@WANT_PEEKFD_I386_TRUE@am__append_3 = -DI386 +@WANT_PEEKFD_X86_64_TRUE@am__append_4 = peekfd +@WANT_PEEKFD_X86_64_TRUE@am__append_5 = -DX86_64 +@WANT_PEEKFD_PPC_TRUE@am__append_6 = peekfd +@WANT_PEEKFD_PPC_TRUE@am__append_7 = -DPPC +@WANT_PEEKFD_ARM_TRUE@am__append_8 = peekfd +@WANT_PEEKFD_ARM_TRUE@am__append_9 = -DARM +@WANT_PEEKFD_MIPS_TRUE@am__append_10 = peekfd +@WANT_PEEKFD_MIPS_TRUE@am__append_11 = -DMIPS +@WANT_TIMEOUT_STAT_TRUE@am__append_12 = timeout.c timeout.h +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +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/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +@WANT_FUSER_TRUE@am__EXEEXT_1 = fuser$(EXEEXT) +@WANT_PEEKFD_I386_TRUE@am__EXEEXT_2 = peekfd$(EXEEXT) +@WANT_PEEKFD_X86_64_TRUE@am__EXEEXT_3 = peekfd$(EXEEXT) +@WANT_PEEKFD_PPC_TRUE@am__EXEEXT_4 = peekfd$(EXEEXT) +@WANT_PEEKFD_ARM_TRUE@am__EXEEXT_5 = peekfd$(EXEEXT) +@WANT_PEEKFD_MIPS_TRUE@am__EXEEXT_6 = peekfd$(EXEEXT) +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am__fuser_SOURCES_DIST = fuser.c comm.h signals.c signals.h i18n.h \ + fuser.h lists.h timeout.c timeout.h +@WANT_TIMEOUT_STAT_TRUE@am__objects_1 = timeout.$(OBJEXT) +am_fuser_OBJECTS = fuser.$(OBJEXT) signals.$(OBJEXT) $(am__objects_1) +fuser_OBJECTS = $(am_fuser_OBJECTS) +fuser_DEPENDENCIES = +am_killall_OBJECTS = killall.$(OBJEXT) signals.$(OBJEXT) +killall_OBJECTS = $(am_killall_OBJECTS) +killall_DEPENDENCIES = +am_peekfd_OBJECTS = peekfd.$(OBJEXT) +peekfd_OBJECTS = $(am_peekfd_OBJECTS) +peekfd_LDADD = $(LDADD) +am_prtstat_OBJECTS = prtstat.$(OBJEXT) +prtstat_OBJECTS = $(am_prtstat_OBJECTS) +prtstat_DEPENDENCIES = +am_pstree_OBJECTS = pstree.$(OBJEXT) +pstree_OBJECTS = $(am_pstree_OBJECTS) +pstree_DEPENDENCIES = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(fuser_SOURCES) $(killall_SOURCES) $(peekfd_SOURCES) \ + $(prtstat_SOURCES) $(pstree_SOURCES) +DIST_SOURCES = $(am__fuser_SOURCES_DIST) $(killall_SOURCES) \ + $(peekfd_SOURCES) $(prtstat_SOURCES) $(pstree_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ +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@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +SELINUX_LIB = @SELINUX_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TERMCAP_LIB = @TERMCAP_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_IPV6 = @WITH_IPV6@ +WITH_SELINUX = @WITH_SELINUX@ +WITH_TIMEOUT_STAT = @WITH_TIMEOUT_STAT@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +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@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AM_CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\" @HARDEN_CFLAGS@ \ + $(am__append_3) $(am__append_5) $(am__append_7) \ + $(am__append_9) $(am__append_11) +fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h \ + lists.h $(am__append_12) +fuser_LDADD = @LIBINTL@ +killall_SOURCES = killall.c comm.h signals.c signals.h i18n.h +killall_LDADD = @LIBINTL@ @SELINUX_LIB@ +peekfd_SOURCES = peekfd.c +pstree_SOURCES = pstree.c comm.h i18n.h +pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@ +prtstat_SOURCES = prtstat.c prtstat.h +prtstat_LDADD = @LIBINTL@ +BUILT_SOURCES = signames.h +EXTRA_DIST = signames.c +CLEANFILES = signames.h +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(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) --gnu src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: 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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +fuser$(EXEEXT): $(fuser_OBJECTS) $(fuser_DEPENDENCIES) $(EXTRA_fuser_DEPENDENCIES) + @rm -f fuser$(EXEEXT) + $(LINK) $(fuser_OBJECTS) $(fuser_LDADD) $(LIBS) +killall$(EXEEXT): $(killall_OBJECTS) $(killall_DEPENDENCIES) $(EXTRA_killall_DEPENDENCIES) + @rm -f killall$(EXEEXT) + $(LINK) $(killall_OBJECTS) $(killall_LDADD) $(LIBS) +peekfd$(EXEEXT): $(peekfd_OBJECTS) $(peekfd_DEPENDENCIES) $(EXTRA_peekfd_DEPENDENCIES) + @rm -f peekfd$(EXEEXT) + $(LINK) $(peekfd_OBJECTS) $(peekfd_LDADD) $(LIBS) +prtstat$(EXEEXT): $(prtstat_OBJECTS) $(prtstat_DEPENDENCIES) $(EXTRA_prtstat_DEPENDENCIES) + @rm -f prtstat$(EXEEXT) + $(LINK) $(prtstat_OBJECTS) $(prtstat_LDADD) $(LIBS) +pstree$(EXEEXT): $(pstree_OBJECTS) $(pstree_DEPENDENCIES) $(EXTRA_pstree_DEPENDENCIES) + @rm -f pstree$(EXEEXT) + $(LINK) $(pstree_OBJECTS) $(pstree_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/killall.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/peekfd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prtstat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pstree.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeout.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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 +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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" + +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: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) 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: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +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." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic 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-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +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 + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: all check install install-am install-exec-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-exec-hook 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 pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS + + +signames.h: signames.c Makefile + export LC_ALL=C ; \ + @CPP@ -dM $< |\ + tr -s '\t ' ' ' | sort -n -k 3 | sed \ + 's:#define SIG\([A-Z][A-Z]*[0-9]*\) \([0-9][0-9]*\).*$\:{\ \2,"\1" },:p;d' | \ + grep -v '[0-9][0-9][0-9]' >signames.h || \ + { rm -f signames.h; exit 1; } + grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \ + { rm -f signames.h; exit 1; } + +install-exec-hook: + cd $(DESTDIR)$(bindir) && \ + ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11) + +# 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/src/comm.h b/src/comm.h new file mode 100644 index 0000000..f248a43 --- /dev/null +++ b/src/comm.h @@ -0,0 +1,36 @@ +/* + * comm.h - command name length definition + * + * Copyright 1995 Werner Almesberger + * Copyright 2012 Craig Small + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef COMM_H +#define COMM_H + +#ifdef HAVE_CONFIG_H +#include +#endif + +/* + * COMM_LEN should be the same size as TASK_COMM_LEN in the Linux source + * at include/linux/sched.h + */ +#define COMM_LEN 16 + +#endif diff --git a/src/fuser.c b/src/fuser.c new file mode 100644 index 0000000..ece61d4 --- /dev/null +++ b/src/fuser.c @@ -0,0 +1,2133 @@ +/* + * fuser.c - identify processes using files + * + * Based on fuser.c Copyright (C) 1993-2005 Werner Almesberger and Craig Small + * + * Completely re-written + * Copyright (C) 2005-2012 Craig Small + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* MAXSYMLINKS is a BSDism. If it doesn't exist, fall back to SYMLINK_MAX, + which is the POSIX name. */ +#ifndef MAXSYMLINKS +#define MAXSYMLINKS SYMLINK_MAX +#endif + +#include "fuser.h" +#include "signals.h" +#include "i18n.h" + +//#define DEBUG 1 + +#define NAME_FIELD 20 /* space reserved for file name */ +/* Function defines */ +static void add_matched_proc(struct names *name_list, const pid_t pid, + const uid_t uid, const char access); +static void add_special_proc(struct names *name_list, const char ptype, + const uid_t uid, const char *command); +static void check_dir(const pid_t pid, const char *dirname, + struct device_list *dev_head, + struct inode_list *ino_head, const uid_t uid, + const char access, struct unixsocket_list *sockets, + dev_t netdev); +static void check_map(const pid_t pid, const char *filename, + struct device_list *dev_head, + struct inode_list *ino_head, const uid_t uid, + const char access); +static struct stat *get_pidstat(const pid_t pid, const char *filename); +static uid_t getpiduid(const pid_t pid); +static int print_matches(struct names *names_head, const opt_type opts, + const int sig_number); +static int kill_matched_proc(struct procs *pptr, const opt_type opts, + const int sig_number); + +/*int parse_mount(struct names *this_name, struct device_list **dev_list);*/ +static void add_device(struct device_list **dev_list, + struct names *this_name, dev_t device); +void fill_unix_cache(struct unixsocket_list **unixsocket_head); +static dev_t find_net_dev(void); +static void scan_procs(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head, + struct unixsocket_list *sockets, dev_t netdev); +static void scan_knfsd(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head); +static void scan_mounts(struct names *names_head, + struct inode_list *ino_head, + struct device_list *dev_head); +static void scan_swaps(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head); +#ifdef DEBUG +static void debug_match_lists(struct names *names_head, + struct inode_list *ino_head, + struct device_list *dev_head); +#endif + +#ifdef _LISTS_H +static void clear_mntinfo(void) __attribute__ ((__destructor__)); +static void init_mntinfo(void) __attribute__ ((__constructor__)); +static dev_t device(const char *path); +#endif +static char *expandpath(const char *path); + +#ifdef WITH_TIMEOUT_STAT +#if (WITH_TIMEOUT_STAT == 2) +#include "timeout.h" +#else +typedef int (*stat_t) (const char *, struct stat *); +static int timeout(stat_t func, const char *path, struct stat *buf, + unsigned int seconds); +#endif +#else +#define timeout(func,path,buf,dummy) (func)((path),(buf)) +#endif /* WITH_TIMEOUT_STAT */ + +static void usage(const char *errormsg) +{ + if (errormsg != NULL) + fprintf(stderr, "%s\n", errormsg); + + fprintf(stderr, + _ + ("Usage: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME...\n" + " fuser -l\n" " fuser -V\n" + "Show which processes use the named files, sockets, or filesystems.\n\n" + " -a,--all display unused files too\n" + " -i,--interactive ask before killing (ignored without -k)\n" + " -k,--kill kill processes accessing the named file\n" + " -l,--list-signals list available signal names\n" + " -m,--mount show all processes using the named filesystems or block device\n" + " -M,--ismountpoint fulfill request only if NAME is a mount point\n" + " -n,--namespace SPACE search in this name space (file, udp, or tcp)\n" + " -s,--silent silent operation\n" + " -SIGNAL send this signal instead of SIGKILL\n" + " -u,--user display user IDs\n" + " -v,--verbose verbose output\n" + " -w,--writeonly kill only processes with write access\n" + " -S,--syslog output also saved to syslog\n" + " -V,--version display version information\n")); +#ifdef WITH_IPV6 + fprintf(stderr, _(" -4,--ipv4 search IPv4 sockets only\n" + " -6,--ipv6 search IPv6 sockets only\n")); +#endif + fprintf(stderr, _(" - reset options\n\n" + " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n\n")); + exit(1); +} + +void print_version() +{ + fprintf(stderr, _("fuser (PSmisc) %s\n"), VERSION); + fprintf(stderr, + _ + ("Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n\n")); + fprintf(stderr, + _("PSmisc comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, and you are welcome to redistribute it under\n" + "the terms of the GNU General Public License.\n" + "For more information about these matters, see the files named COPYING.\n")); +} + +static void +scan_procs(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head, struct unixsocket_list *sockets, + dev_t netdev) +{ + DIR *topproc_dir; + struct dirent *topproc_dent; + struct inode_list *ino_tmp; + struct device_list *dev_tmp; + pid_t pid, my_pid; + uid_t uid; + + if ((topproc_dir = opendir("/proc")) == NULL) { + fprintf(stderr, _("Cannot open /proc directory: %s\n"), + strerror(errno)); + exit(1); + } + my_pid = getpid(); + while ((topproc_dent = readdir(topproc_dir)) != NULL) { + dev_t cwd_dev, exe_dev, root_dev; + struct stat *cwd_stat = NULL; + struct stat *exe_stat = NULL; + struct stat *root_stat = NULL; +#ifdef _LISTS_H + char path[256] = "/proc/", *slash; + ssize_t len; +#endif + + if (topproc_dent->d_name[0] < '0' || topproc_dent->d_name[0] > '9') /* Not a process */ + continue; + pid = atoi(topproc_dent->d_name); + /* Dont print myself */ + if (pid == my_pid) + continue; + uid = getpiduid(pid); + +#ifdef _LISTS_H + strcpy(&path[6], topproc_dent->d_name); + len = strlen(path); + slash = &path[len]; + + *slash = '\0'; + strcat(slash, "/cwd"); + cwd_dev = device(path); + + *slash = '\0'; + strcat(slash, "/exe"); + exe_dev = device(path); + + *slash = '\0'; + strcat(slash, "/root"); + root_dev = device(path); +#else + cwd_stat = get_pidstat(pid, "cwd"); + exe_stat = get_pidstat(pid, "exe"); + root_stat = get_pidstat(pid, "root"); + cwd_dev = cwd_stat ? cwd_stat->st_dev : 0; + exe_dev = exe_stat ? exe_stat->st_dev : 0; + root_dev = root_stat ? root_stat->st_dev : 0; +#endif + + /* Scan the devices */ + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) { + if (exe_dev == dev_tmp->device) + add_matched_proc(dev_tmp->name, pid, uid, + ACCESS_EXE); + if (root_dev == dev_tmp->device) + add_matched_proc(dev_tmp->name, pid, uid, + ACCESS_ROOT); + if (cwd_dev == dev_tmp->device) + add_matched_proc(dev_tmp->name, pid, uid, + ACCESS_CWD); + } + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) { + if (exe_dev == ino_tmp->device) { + if (!exe_stat) + exe_stat = get_pidstat(pid, "exe"); + if (exe_stat + && exe_stat->st_dev == ino_tmp->device + && exe_stat->st_ino == ino_tmp->inode) + add_matched_proc(ino_tmp->name, pid, + uid, ACCESS_EXE); + } + if (root_dev == ino_tmp->device) { + if (!root_stat) + root_stat = get_pidstat(pid, "root"); + if (root_stat + && root_stat->st_dev == ino_tmp->device + && root_stat->st_ino == ino_tmp->inode) + add_matched_proc(ino_tmp->name, pid, + uid, ACCESS_ROOT); + } + if (cwd_dev == ino_tmp->device) { + if (!cwd_stat) + cwd_stat = get_pidstat(pid, "cwd"); + if (cwd_stat + && cwd_stat->st_dev == ino_tmp->device + && cwd_stat->st_ino == ino_tmp->inode) + add_matched_proc(ino_tmp->name, pid, + uid, ACCESS_CWD); + } + } + if (root_stat) + free(root_stat); + if (cwd_stat) + free(cwd_stat); + if (exe_stat) + free(exe_stat); +#if !defined (__linux__) && !defined (__CYGWIN__) + check_dir(pid, "lib", dev_head, ino_head, uid, ACCESS_MMAP, + sockets, netdev); + check_dir(pid, "mmap", dev_head, ino_head, uid, ACCESS_MMAP, + sockets, netdev); +#endif + check_dir(pid, "fd", dev_head, ino_head, uid, ACCESS_FILE, + sockets, netdev); + check_map(pid, "maps", dev_head, ino_head, uid, ACCESS_MMAP); + + } /* while topproc_dent */ + closedir(topproc_dir); +} + +static void +add_inode(struct inode_list **ino_list, struct names *this_name, + dev_t device, ino_t inode) +{ + struct inode_list *ino_tmp, *ino_head; + + if ((ino_tmp = + (struct inode_list *)malloc(sizeof(struct inode_list))) == NULL) + return; + ino_head = *ino_list; + ino_tmp->name = this_name; + ino_tmp->device = device; + ino_tmp->inode = inode; + ino_tmp->next = ino_head; + *ino_list = ino_tmp; +} + +static void +add_device(struct device_list **dev_list, struct names *this_name, dev_t device) +{ + struct device_list *dev_tmp, *dev_head; +#ifdef DEBUG + fprintf(stderr, "add_device(%s %u\n", this_name->filename, + (unsigned int)device); +#endif /* DEBUG */ + + if ((dev_tmp = + (struct device_list *)malloc(sizeof(struct device_list))) == NULL) + return; + dev_head = *dev_list; + dev_tmp->name = this_name; + dev_tmp->device = device; + dev_tmp->next = dev_head; + *dev_list = dev_tmp; +} + +static void +add_ip_conn(struct ip_connections **ip_list, const char *protocol, + struct names *this_name, const int lcl_port, const int rmt_port, + unsigned long rmt_address) +{ + struct ip_connections *ip_tmp, *ip_head; + + if ((ip_tmp = + (struct ip_connections *)malloc(sizeof(struct ip_connections))) == + NULL) + return; + ip_head = *ip_list; + ip_tmp->name = this_name; + ip_tmp->lcl_port = lcl_port; + ip_tmp->rmt_port = rmt_port; + ip_tmp->rmt_address.s_addr = rmt_address; + ip_tmp->next = ip_head; + + *ip_list = ip_tmp; +} + +#ifdef WITH_IPV6 +static void +add_ip6_conn(struct ip6_connections **ip_list, const char *protocol, + struct names *this_name, const int lcl_port, const int rmt_port, + struct in6_addr rmt_address) +{ + struct ip6_connections *ip_tmp, *ip_head; + + if ((ip_tmp = + (struct ip6_connections *)malloc(sizeof(struct ip6_connections))) + == NULL) + return; + ip_head = *ip_list; + ip_tmp->name = this_name; + ip_tmp->lcl_port = lcl_port; + ip_tmp->rmt_port = rmt_port; + memcpy(&(ip_tmp->rmt_address), &(rmt_address), sizeof(struct in6_addr)); + ip_tmp->next = ip_head; + + *ip_list = ip_tmp; +} +#endif + +/* Adds a normal process only */ +static void +add_matched_proc(struct names *name_list, const pid_t pid, const uid_t uid, + const char access) +{ + struct procs *pptr, *last_proc; + char *pathname; + char cmdname[101], *cptr; + int cmdlen; + FILE *fp; + + last_proc = NULL; + for (pptr = name_list->matched_procs; pptr != NULL; pptr = pptr->next) { + last_proc = pptr; + if (pptr->pid == pid) { + pptr->access |= access; + return; + } + } + /* Not found */ + if ((pptr = (struct procs *)malloc(sizeof(struct procs))) == NULL) { + fprintf(stderr, + _("Cannot allocate memory for matched proc: %s\n"), + strerror(errno)); + return; + } + pptr->pid = pid; + pptr->uid = uid; + pptr->access = access; + pptr->proc_type = PTYPE_NORMAL; + pptr->next = NULL; + /* set command name */ + pptr->command = NULL; + + fp = NULL; + pathname = NULL; + if ((asprintf(&pathname, "/proc/%d/stat", pid) > 0) && + ((fp = fopen(pathname, "r")) != NULL) && + (fscanf(fp, "%*d (%100[^)]", cmdname) == 1)) + if ((pptr->command = (char *)malloc(MAX_CMDNAME + 1)) != NULL) { + cmdlen = 0; + for (cptr = cmdname; cmdlen < MAX_CMDNAME && *cptr; + cptr++) { + if (isprint(*cptr)) + pptr->command[cmdlen++] = *cptr; + else if (cmdlen < (MAX_CMDNAME - 4)) + cmdlen += + sprintf(&(pptr->command[cmdlen]), + "\\%03o", *cptr); + } + pptr->command[cmdlen] = '\0'; + } + if (last_proc == NULL) + name_list->matched_procs = pptr; + else + last_proc->next = pptr; + if (pathname) + free(pathname); + if (fp) + fclose(fp); +} + +/* Adds a knfsd etc process */ +static void +add_special_proc(struct names *name_list, const char ptype, const uid_t uid, + const char *command) +{ + struct procs *pptr; + + for (pptr = name_list->matched_procs; pptr != NULL; pptr = pptr->next) { + if (pptr->proc_type == ptype) + return; + } + if ((pptr = malloc(sizeof(struct procs))) == NULL) { + fprintf(stderr, + _("Cannot allocate memory for matched proc: %s\n"), + strerror(errno)); + return; + } + pptr->pid = 0; + pptr->uid = uid; + pptr->access = 0; + pptr->proc_type = ptype; + /* Append the special processes */ + pptr->next = name_list->matched_procs; + name_list->matched_procs = pptr; + /* set command name */ + pptr->command = strdup(command); +} + +int parse_file(struct names *this_name, struct inode_list **ino_list, + const char opts) +{ + char *new = expandpath(this_name->filename); + if (new) { + if (this_name->filename) + free(this_name->filename); + this_name->filename = strdup(new); + } + + if (timeout(stat, this_name->filename, &(this_name->st), 5) != 0) { + if (errno == ENOENT) + fprintf(stderr, + _("Specified filename %s does not exist.\n"), + this_name->filename); + else + fprintf(stderr, _("Cannot stat %s: %s\n"), + this_name->filename, strerror(errno)); + return -1; + } +#ifdef DEBUG + printf("adding file %s %lX %lX\n", this_name->filename, + (unsigned long)this_name->st.st_dev, + (unsigned long)this_name->st.st_ino); +#endif /* DEBUG */ + add_inode(ino_list, this_name, this_name->st.st_dev, + this_name->st.st_ino); + return 0; +} + +int +parse_unixsockets(struct names *this_name, struct inode_list **ino_list, + struct unixsocket_list *sun_head) +{ + struct unixsocket_list *sun_tmp; + dev_t net_dev; + + net_dev = find_net_dev(); + + for (sun_tmp = sun_head; sun_tmp != NULL; sun_tmp = sun_tmp->next) { + if (sun_tmp->dev == this_name->st.st_dev + && sun_tmp->inode == this_name->st.st_ino) { + add_inode(ino_list, this_name, net_dev, + sun_tmp->net_inode); + return 0; + } + } + return 0; +} + +int +parse_mounts(struct names *this_name, struct device_list **dev_list, + const char opts) +{ + dev_t match_device; + + if (S_ISBLK(this_name->st.st_mode)) + match_device = this_name->st.st_rdev; + else + match_device = this_name->st.st_dev; + add_device(dev_list, this_name, match_device); + return 0; +} + +#ifdef WITH_IPV6 +int +parse_inet(struct names *this_name, const int ipv6_only, const int ipv4_only, + struct ip_connections **ip_list, struct ip6_connections **ip6_list) +#else +int parse_inet(struct names *this_name, struct ip_connections **ip_list) +#endif +{ + struct addrinfo *res, *resptr; + struct addrinfo hints; + int errcode; + char *lcl_port_str, *rmt_addr_str, *rmt_port_str, *tmpstr, *tmpstr2; + in_port_t lcl_port; + struct sockaddr_in *sin; +#ifdef WITH_IPV6 + struct sockaddr_in6 *sin6; +#endif + char hostspec[100]; + char *protocol; + int i; + + if ((protocol = strchr(this_name->filename, '/')) == NULL) + return -1; + protocol++; + if (protocol[0] == '\0') + return -1; + for (i = 0; + i < 99 && this_name->filename[i] != '\0' + && this_name->filename[i] != '/'; i++) + hostspec[i] = this_name->filename[i]; + hostspec[i] = '\0'; + + lcl_port_str = rmt_addr_str = rmt_port_str = NULL; + /* Split out the names */ + if ((tmpstr = strchr(hostspec, ',')) == NULL) { + /* Single option */ + lcl_port_str = strdup(hostspec); + } else { + if (tmpstr == hostspec) + lcl_port_str = NULL; + else { + *tmpstr = '\0'; + lcl_port_str = strdup(hostspec); + } + tmpstr++; + if (*tmpstr != '\0') { + if ((tmpstr2 = strchr(tmpstr, ',')) == NULL) { + /* Only 2 options */ + rmt_addr_str = tmpstr; + } else { + if (tmpstr2 == tmpstr) + rmt_addr_str = NULL; + else { + rmt_addr_str = tmpstr; + *tmpstr2 = '\0'; + } + tmpstr2++; + if (*tmpstr2 != '\0') + rmt_port_str = tmpstr2; + } + } + } +#ifdef DEBUG + printf("parsed to lp %s rh %s rp %s\n", lcl_port_str, rmt_addr_str, + rmt_port_str); +#endif + + memset(&hints, 0, sizeof(hints)); +#ifdef WITH_IPV6 + if (ipv6_only) { + hints.ai_family = PF_INET6; + } else if (ipv4_only) { + hints.ai_family = PF_INET; + } else + hints.ai_family = PF_UNSPEC; +#else + hints.ai_family = PF_INET; +#endif + if (strcmp(protocol, "tcp") == 0) + hints.ai_socktype = SOCK_STREAM; + else + hints.ai_socktype = SOCK_DGRAM; + + if (lcl_port_str == NULL) { + lcl_port = 0; + } else { + /* Resolve local port first */ + if ((errcode = + getaddrinfo(NULL, lcl_port_str, &hints, &res)) != 0) { + fprintf(stderr, _("Cannot resolve local port %s: %s\n"), + lcl_port_str, gai_strerror(errcode)); + return -1; + } + if (res == NULL) + return -1; + switch (res->ai_family) { + case AF_INET: + lcl_port = + ((struct sockaddr_in *)(res->ai_addr))->sin_port; + break; +#ifdef WITH_IPV6 + case AF_INET6: + lcl_port = + ((struct sockaddr_in6 *)(res->ai_addr))->sin6_port; + break; +#endif + default: + fprintf(stderr, _("Unknown local port AF %d\n"), + res->ai_family); + freeaddrinfo(res); + return -1; + } + freeaddrinfo(res); + } + free(lcl_port_str); + res = NULL; + if (rmt_addr_str == NULL && rmt_port_str == NULL) { + add_ip_conn(ip_list, protocol, this_name, ntohs(lcl_port), 0, + INADDR_ANY); +#ifdef WITH_IPV6 + add_ip6_conn(ip6_list, protocol, this_name, ntohs(lcl_port), 0, + in6addr_any); +#endif + return 0; + } else { + /* Resolve remote address and port */ + if (getaddrinfo(rmt_addr_str, rmt_port_str, &hints, &res) == 0) { + for (resptr = res; resptr != NULL; + resptr = resptr->ai_next) { + switch (resptr->ai_family) { + case AF_INET: + sin = (struct sockaddr_in *) + resptr->ai_addr; + if (rmt_addr_str == NULL) { + add_ip_conn(ip_list, protocol, + this_name, + ntohs(lcl_port), + ntohs + (sin->sin_port), + INADDR_ANY); + } else { + add_ip_conn(ip_list, protocol, + this_name, + ntohs(lcl_port), + ntohs + (sin->sin_port), + sin->sin_addr. + s_addr); + } + break; +#ifdef WITH_IPV6 + case AF_INET6: + sin6 = (struct sockaddr_in6 *) + resptr->ai_addr; + if (rmt_addr_str == NULL) { + add_ip6_conn(ip6_list, protocol, + this_name, + ntohs(lcl_port), + ntohs + (sin6->sin6_port), + in6addr_any); + } else { + add_ip6_conn(ip6_list, protocol, + this_name, + ntohs(lcl_port), + ntohs + (sin6->sin6_port), + sin6->sin6_addr); + } + break; +#endif + } + } /*while */ + return 0; + } + } + return 1; +} + +void +find_net_sockets(struct inode_list **ino_list, + struct ip_connections *conn_list, const char *protocol, + dev_t netdev) +{ + FILE *fp; + char pathname[200], line[BUFSIZ]; + unsigned long loc_port, rmt_port; + unsigned long rmt_addr, scanned_inode; + ino_t inode; + struct ip_connections *conn_tmp; + + if (snprintf(pathname, 200, "/proc/net/%s", protocol) < 0) + return; + + if ((fp = fopen(pathname, "r")) == NULL) { + fprintf(stderr, _("Cannot open protocol file \"%s\": %s\n"), + pathname, strerror(errno)); + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + if (sscanf + (line, + "%*u: %*x:%lx %08lx:%lx %*x %*x:%*x %*x:%*x %*x %*d %*d %lu", + &loc_port, &rmt_addr, &rmt_port, &scanned_inode) != 4) + continue; +#ifdef DEBUG + printf("Found IPv4 *:%lu with %s:%lu\n", loc_port, + inet_ntoa(*((struct in_addr *)&rmt_addr)), rmt_port); +#endif /* DEBUG */ + inode = scanned_inode; + for (conn_tmp = conn_list; conn_tmp != NULL; + conn_tmp = conn_tmp->next) { +#ifdef DEBUG + printf(" Comparing with *.%lu %s:%lu\n", + conn_tmp->lcl_port, + inet_ntoa(conn_tmp->rmt_address), + conn_tmp->rmt_port); +#endif + if ((conn_tmp->lcl_port == 0 + || conn_tmp->lcl_port == loc_port) + && (conn_tmp->rmt_port == 0 + || conn_tmp->rmt_port == rmt_port) + && (conn_tmp->rmt_address.s_addr == INADDR_ANY + || + (memcmp + (&(conn_tmp->rmt_address), &(rmt_addr), + 4) == 0))) { + /* add inode to list */ +#ifdef DEBUG + printf("Added inode!\n"); +#endif /* DEBUG */ + add_inode(ino_list, conn_tmp->name, netdev, + inode); + } + } + + } + fclose(fp); +} + +#ifdef WITH_IPV6 +void +find_net6_sockets(struct inode_list **ino_list, + struct ip6_connections *conn_list, const char *protocol, + const dev_t netdev) +{ + FILE *fp; + char pathname[200], line[BUFSIZ]; + unsigned long loc_port, rmt_port; + struct in6_addr rmt_addr; + unsigned int tmp_addr[4]; + char rmt_addr6str[INET6_ADDRSTRLEN]; + struct ip6_connections *conn_tmp; + unsigned long scanned_inode; + ino_t inode; + + if (snprintf(pathname, 200, "/proc/net/%s6", protocol) < 0) + return; + + if ((fp = fopen(pathname, "r")) == NULL) { +#ifdef DEBUG + printf("Cannot open protocol file \"%s\": %s\n", pathname, + strerror(errno)); +#endif /* DEBUG */ + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + if (sscanf + (line, + "%*u: %*x:%lx %08x%08x%08x%08x:%lx %*x %*x:%*x %*x:%*x %*x %*d %*d %lu", + &loc_port, &(tmp_addr[0]), &(tmp_addr[1]), &(tmp_addr[2]), + &(tmp_addr[3]), &rmt_port, &scanned_inode) != 7) + continue; + inode = scanned_inode; + rmt_addr.s6_addr32[0] = tmp_addr[0]; + rmt_addr.s6_addr32[1] = tmp_addr[1]; + rmt_addr.s6_addr32[2] = tmp_addr[2]; + rmt_addr.s6_addr32[3] = tmp_addr[3]; + inet_ntop(AF_INET6, &rmt_addr, rmt_addr6str, INET6_ADDRSTRLEN); +#ifdef DEBUG + printf("Found IPv6 %ld with %s:%ld\n", loc_port, rmt_addr6str, + rmt_port); +#endif /* DEBUG */ + for (conn_tmp = conn_list; conn_tmp != NULL; + conn_tmp = conn_tmp->next) { + inet_ntop(AF_INET6, &conn_tmp->rmt_address, + rmt_addr6str, INET6_ADDRSTRLEN); +#ifdef DEBUG + printf(" Comparing with *.%lu %s:%lu ...\n", + conn_tmp->lcl_port, rmt_addr6str, + conn_tmp->rmt_port); +#endif /* DEBUG */ + if ((conn_tmp->lcl_port == 0 + || conn_tmp->lcl_port == loc_port) + && (conn_tmp->rmt_port == 0 + || conn_tmp->rmt_port == rmt_port) + && + (memcmp(&(conn_tmp->rmt_address), &in6addr_any, 16) + == 0 + || + (memcmp(&(conn_tmp->rmt_address), &(rmt_addr), 16) + == 0))) { + add_inode(ino_list, conn_tmp->name, netdev, + inode); + } + } + } + fclose(fp); +} +#endif + +static void read_proc_mounts(struct mount_list **mnt_list) +{ + FILE *fp; + char line[BUFSIZ]; + char *find_mountp; + char *find_space; + struct mount_list *mnt_tmp; + + if ((fp = fopen(PROC_MOUNTS, "r")) == NULL) { + fprintf(stderr, "Cannot open %s\n", PROC_MOUNTS); + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + if ((find_mountp = strchr(line, ' ')) == NULL) + continue; + find_mountp++; + if ((find_space = strchr(find_mountp, ' ')) == NULL) + continue; + *find_space = '\0'; + if ((mnt_tmp = malloc(sizeof(struct mount_list))) == NULL) + continue; + if ((mnt_tmp->mountpoint = strdup(find_mountp)) == NULL) + continue; + mnt_tmp->next = *mnt_list; + *mnt_list = mnt_tmp; + } + fclose(fp); +} + +static int is_mountpoint(struct mount_list **mnt_list, char *arg) +{ + char *p; + struct mount_list *mnt_tmp; + + if (*arg == '\0') + return 0; + /* Remove trailing slashes. */ + for (p = arg; *p != '\0'; p++) ; + while (*(--p) == '/' && p > arg) + *p = '\0'; + + for (mnt_tmp = *mnt_list; mnt_tmp != NULL; mnt_tmp = mnt_tmp->next) + if (!strcmp(mnt_tmp->mountpoint, arg)) + return 1; + return 0; +} + +int main(int argc, char *argv[]) +{ + opt_type opts; + int sig_number; +#ifdef WITH_IPV6 + int ipv4_only, ipv6_only; +#endif + unsigned char default_namespace = NAMESPACE_FILE; + struct device_list *match_devices = NULL; + struct unixsocket_list *unixsockets = NULL; + struct mount_list *mounts = NULL; + + dev_t netdev; + struct ip_connections *tcp_connection_list = NULL; + struct ip_connections *udp_connection_list = NULL; +#ifdef WITH_IPV6 + struct ip6_connections *tcp6_connection_list = NULL; + struct ip6_connections *udp6_connection_list = NULL; +#endif + struct inode_list *match_inodes = NULL; + struct names *names_head, *this_name, *names_tail; + int argc_cnt; + char *current_argv, *option; + char option_buf[3]; + struct option *optr; + char *nsptr; + int skip_argv; + + struct option options[] = { + {"all", 0, NULL, 'a'}, + {"kill", 0, NULL, 'k'}, + {"interactive", 0, NULL, 'i'}, + {"list-signals", 0, NULL, 'l'}, + {"mount", 0, NULL, 'm'}, + {"ismountpoint", 0, NULL, 'M'}, + {"namespace", 1, NULL, 'n'}, + {"silent", 0, NULL, 's'}, + {"user", 0, NULL, 'u'}, + {"verbose", 0, NULL, 'v'}, + {"writeonly", 0, NULL, 'w'}, + {"syslog", 0, NULL, 'S'}, + {"version", 0, NULL, 'V'}, +#ifdef WITH_IPV6 + {"ipv4", 0, NULL, '4'}, + {"ipv6", 0, NULL, '6'}, +#endif + {0, 0, 0, 0} + }; + +#ifdef WITH_IPV6 + ipv4_only = ipv6_only = 0; +#endif + names_head = this_name = names_tail = NULL; + opts = 0; + sig_number = SIGKILL; + +#ifdef ENABLE_NLS + /* Set up the i18n */ + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); +#endif + + netdev = find_net_dev(); +#ifndef __CYGWIN__ /* Cygwin doesn't support /proc/net/unix */ + fill_unix_cache(&unixsockets); +#endif + + for (argc_cnt = 1; argc_cnt < argc; argc_cnt++) { + current_argv = argv[argc_cnt]; + if (current_argv[0] == '-') { /* its an option */ + if (current_argv[1] == '-') { /* its a long option */ + if (current_argv[2] == '\0') /* -- */ + break; + /* Parse the long options */ + option = option_buf; + for (optr = options; optr->name != NULL; optr++) { + if (strcmp(current_argv + 2, optr->name) + == 0) { + sprintf(option_buf, "-%c", + (char)optr->val); + break; + } + } + if (optr->name == NULL) { + fprintf(stderr, + _("%s: Invalid option %s\n"), + argv[0], current_argv); + usage(NULL); + } + } else { + option = current_argv; + } + skip_argv = 0; + while (*(++option) != '\0' && !skip_argv) { /* skips over the - */ + switch (*option) { +#ifdef WITH_IPV6 + case '4': + ipv4_only = 1; + break; + case '6': + ipv6_only = 1; + break; +#endif /* WITH_IPV6 */ + case 'a': + opts |= OPT_ALLFILES; + break; + case 'c': + opts |= OPT_MOUNTS; + break; + case 'f': + /* ignored */ + break; + case 'h': + usage(NULL); + break; + case 'i': + opts |= OPT_INTERACTIVE; + break; + case 'k': + opts |= OPT_KILL; + break; + case 'l': + list_signals(); + return 0; + case 'm': + opts |= OPT_MOUNTS; + read_proc_mounts(&mounts); + break; + case 'M': + opts |= OPT_ISMOUNTPOINT; + read_proc_mounts(&mounts); + break; + case 'n': + argc_cnt++; + if (argc_cnt >= argc) { + usage(_ + ("Namespace option requires an argument.")); + exit(1);; + } + skip_argv = 1; + //while(option != '\0') option++; + if (strcmp(argv[argc_cnt], "tcp") == 0) + default_namespace = + NAMESPACE_TCP; + else if (strcmp(argv[argc_cnt], "udp") + == 0) + default_namespace = + NAMESPACE_UDP; + else if (strcmp(argv[argc_cnt], "file") + == 0) + default_namespace = + NAMESPACE_FILE; + else + usage(_ + ("Invalid namespace name")); + break; + case 's': + opts |= OPT_SILENT; + break; + case 'u': + opts |= OPT_USER; + break; + case 'v': + opts |= OPT_VERBOSE; + break; + case 'w': + opts |= OPT_WRITE; + break; + case 'S': + opts |= OPT_SYSLOG; + break; + case 'V': + print_version(); + return 0; + default: + if (isupper(*option) + || isdigit(*option)) { + sig_number = + get_signal(current_argv + 1, + argv[0]); + skip_argv = 1; + break; + } + fprintf(stderr, + "%s: Invalid option %c\n", + argv[0], *option); + usage(NULL); + exit(1); + break; + } /* switch */ + } /* while option */ + continue; + } + + /* an option */ + /* Not an option, must be a file specification */ + if ((this_name = malloc(sizeof(struct names))) == NULL) + continue; + this_name->next = NULL; + /* try to find namespace spec */ + this_name->name_space = default_namespace; + if (((nsptr = strchr(current_argv, '/')) != NULL) + && (nsptr != current_argv)) { + if (strcmp(nsptr + 1, "tcp") == 0) { + this_name->name_space = NAMESPACE_TCP; + *nsptr = '\0'; + } else if (strcmp(nsptr + 1, "udp") == 0) { + this_name->name_space = NAMESPACE_UDP; + *nsptr = '\0'; + } else if (strcmp(nsptr + 1, "file") == 0) { + this_name->name_space = NAMESPACE_FILE; + *nsptr = '\0'; + } + } + this_name->matched_procs = NULL; + if (opts & (OPT_MOUNTS | OPT_ISMOUNTPOINT) + && this_name->name_space != NAMESPACE_FILE) + usage(_ + ("You can only use files with mountpoint options")); + if (opts & OPT_ISMOUNTPOINT && + !is_mountpoint(&mounts, current_argv)) { + free(this_name); + continue; + } + switch (this_name->name_space) { + case NAMESPACE_TCP: + if (asprintf + (&(this_name->filename), "%s/tcp", + current_argv) > 0) { +#ifdef WITH_IPV6 + parse_inet(this_name, ipv4_only, ipv6_only, + &tcp_connection_list, + &tcp6_connection_list); +#else + parse_inet(this_name, &tcp_connection_list); +#endif + } + break; + case NAMESPACE_UDP: + if (asprintf + (&(this_name->filename), "%s/udp", + current_argv) > 0) { +#ifdef WITH_IPV6 + parse_inet(this_name, ipv4_only, ipv6_only, + &udp_connection_list, + &udp6_connection_list); +#else + parse_inet(this_name, &udp_connection_list); +#endif + } + break; + default: /* FILE */ + this_name->filename = strdup(current_argv); + if (parse_file(this_name, &match_inodes, opts) == 0) { + if (opts & OPT_MOUNTS) + parse_mounts(this_name, &match_devices, + opts); + else + parse_unixsockets(this_name, + &match_inodes, + unixsockets); + } + break; + } + + if (names_head == NULL) + names_head = this_name; + if (names_tail != NULL) + names_tail->next = this_name; + names_tail = this_name; + } /* for across the argvs */ + if (names_head == NULL) + usage(_("No process specification given")); + + if (opts & OPT_SILENT) { + opts &= ~OPT_VERBOSE; + opts &= ~OPT_USER; + if (opts & OPT_ALLFILES) + usage(_ + ("all option cannot be used with silent option.")); + } +#ifdef WITH_IPV6 + if (ipv4_only && ipv6_only) + usage(_ + ("You cannot search for only IPv4 and only IPv6 sockets at the same time")); + if (!ipv6_only) { +#endif + if (tcp_connection_list != NULL) + find_net_sockets(&match_inodes, tcp_connection_list, + "tcp", netdev); + if (udp_connection_list != NULL) + find_net_sockets(&match_inodes, udp_connection_list, + "udp", netdev); +#ifdef WITH_IPV6 + } + if (!ipv4_only) { + if (tcp6_connection_list != NULL) + find_net6_sockets(&match_inodes, tcp6_connection_list, + "tcp", netdev); + if (udp6_connection_list != NULL) + find_net6_sockets(&match_inodes, udp6_connection_list, + "udp", netdev); + } +#endif +#ifdef DEBUG + debug_match_lists(names_head, match_inodes, match_devices); +#endif + scan_procs(names_head, match_inodes, match_devices, unixsockets, + netdev); + scan_knfsd(names_head, match_inodes, match_devices); + scan_mounts(names_head, match_inodes, match_devices); + scan_swaps(names_head, match_inodes, match_devices); + return print_matches(names_head, opts, sig_number); +} + +typedef enum { + printf_t, + fprintf_t +} print_type; + +void +printf_opt(const print_type type, const opt_type opts, const char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + if (opts & OPT_SYSLOG) + vsyslog(LOG_DEBUG, fmt, args); + else { + if (type == printf_t) + vprintf(fmt, args); + else + vfprintf(stderr, fmt, args); + } + va_end(args); +} + +/* + * returns 0 if match, 1 if no match + */ +static int +print_matches(struct names *names_head, const opt_type opts, + const int sig_number) +{ + struct names *nptr; + struct procs *pptr; + char head = 0; + char first = 1; + int len = 0; + struct passwd *pwent = NULL; + int have_match = 0; + int have_kill = 0; + int name_has_procs = 0; + + for (nptr = names_head; nptr != NULL; nptr = nptr->next) { + if (opts & OPT_SILENT) { + for (pptr = nptr->matched_procs; pptr != NULL; + pptr = pptr->next) { + if (pptr->proc_type != PTYPE_NORMAL) + continue; + + have_match = 1; + } + } else { /* We're not silent */ + if ((opts & OPT_ALLFILES) == 0) { + name_has_procs = 0; + if (opts & OPT_VERBOSE) { + if (nptr->matched_procs) + name_has_procs = 1; + } else { + for (pptr = nptr->matched_procs; + pptr != NULL; pptr = pptr->next) { + if (pptr->proc_type == + PTYPE_NORMAL) { + name_has_procs = 1; + break; + } + } + } + } + if (name_has_procs == 1 || opts & OPT_ALLFILES) { + if (head == 0 && opts & OPT_VERBOSE) { + printf_opt(fprintf_t, opts, + _ + ("%*s USER PID ACCESS COMMAND\n"), + NAME_FIELD, ""); + head = 1; + } + + printf_opt(fprintf_t, opts, "%s:", nptr->filename); + len = strlen(nptr->filename) + 1; + } + + first = 1; + for (pptr = nptr->matched_procs; pptr != NULL; + pptr = pptr->next) { + /* Suppress any special "processes" */ + if (!(opts & OPT_VERBOSE) + && (pptr->proc_type != PTYPE_NORMAL)) + continue; + + have_match = 1; + if (opts & (OPT_VERBOSE | OPT_USER)) { + if (pwent == NULL + || pwent->pw_uid != pptr->uid) + pwent = getpwuid(pptr->uid); + } + if (len > NAME_FIELD && (opts & OPT_VERBOSE)) { + putc('\n', stderr); + len = 0; + } + if ((opts & OPT_VERBOSE) || first) + while (len++ < NAME_FIELD) + putc(' ', stderr); + if (opts & OPT_VERBOSE) { + if (pwent == NULL) + printf_opt(fprintf_t, opts, " %-8s ", + _("(unknown)")); + else + printf_opt(fprintf_t, opts, " %-8s ", + pwent->pw_name); + } + if (pptr->proc_type == PTYPE_NORMAL) + printf_opt(printf_t, opts, " %5d", pptr->pid); + else + printf_opt(printf_t, opts, "kernel"); + fflush(stdout); + if (opts & OPT_VERBOSE) { + switch (pptr->proc_type) { + case PTYPE_KNFSD: + printf_opt(fprintf_t, opts, " knfsd "); + break; + case PTYPE_MOUNT: + printf_opt(fprintf_t, opts, " mount "); + break; + case PTYPE_SWAP: + printf_opt(fprintf_t, opts, " swap "); + break; + default: + printf_opt(fprintf_t, opts, " %c%c%c%c%c ", + pptr->access & + ACCESS_FILE + ? (pptr->access & + ACCESS_FILEWR ? 'F' : + 'f') : '.', + pptr-> + access & ACCESS_ROOT ? + 'r' : '.', + pptr-> + access & ACCESS_CWD ? + 'c' : '.', + pptr-> + access & ACCESS_EXE ? + 'e' : '.', + (pptr-> + access & ACCESS_MMAP) + && !(pptr-> + access & + ACCESS_EXE) ? 'm' : + '.'); + } /* switch */ + } else { + if (pptr->access & ACCESS_ROOT) + putc('r', stderr); + if (pptr->access & ACCESS_CWD) + putc('c', stderr); + if (pptr->access & ACCESS_EXE) + putc('e', stderr); + else if (pptr->access & ACCESS_MMAP) + putc('m', stderr); + } + if (opts & OPT_USER) { + if (pwent == NULL) + printf_opt(fprintf_t, opts, " %-8s ", + _("(unknown)")); + else + printf_opt(fprintf_t, opts, "(%s)", + pwent->pw_name); + } + if (opts & OPT_VERBOSE) { + if (pptr->command == NULL) + printf_opt(fprintf_t, opts, "???\n"); + else + printf_opt(fprintf_t, opts, "%s\n", + pptr->command); + } + len = 0; + first = 0; + } + if (opts & OPT_VERBOSE) { + /* put a newline if showing all files and no procs */ + if (nptr->matched_procs == NULL + && (opts & OPT_ALLFILES)) + putc('\n', stderr); + } else { + if (name_has_procs || (opts & OPT_ALLFILES)) + putc('\n', stderr); + } + } /* be silent */ + if (opts & OPT_KILL) + have_kill = kill_matched_proc(nptr->matched_procs, + opts, sig_number); + + } /* next name */ + if (opts & OPT_KILL) + return (have_kill == 1 ? 0 : 1); + else + return (have_match == 1 ? 0 : 1); + +} + +static struct stat *get_pidstat(const pid_t pid, const char *filename) +{ + char pathname[256]; + struct stat *st; + + if ((st = (struct stat *)malloc(sizeof(struct stat))) == NULL) + return NULL; + snprintf(pathname, 256, "/proc/%d/%s", pid, filename); + if (timeout(stat, pathname, st, 5) != 0) { + free(st); + return NULL; + } + return st; +} + +static void +check_dir(const pid_t pid, const char *dirname, struct device_list *dev_head, + struct inode_list *ino_head, const uid_t uid, const char access, + struct unixsocket_list *sockets, dev_t netdev) +{ + DIR *dirp; + dev_t thedev; + struct dirent *direntry; + struct inode_list *ino_tmp; + struct device_list *dev_tmp; + struct unixsocket_list *sock_tmp; + struct stat st, lst; + char dirpath[MAX_PATHNAME]; + char filepath[MAX_PATHNAME]; + + snprintf(dirpath, MAX_PATHNAME, "/proc/%d/%s", pid, dirname); + if ((dirp = opendir(dirpath)) == NULL) + return; + while ((direntry = readdir(dirp)) != NULL) { + if (direntry->d_name[0] < '0' || direntry->d_name[0] > '9') + continue; + + snprintf(filepath, MAX_PATHNAME, "/proc/%d/%s/%s", + pid, dirname, direntry->d_name); + + if (timeout(stat, filepath, &st, 5) != 0) { + if (errno != ENOENT) { + fprintf(stderr, _("Cannot stat file %s: %s\n"), + filepath, strerror(errno)); + } + } else { + thedev = st.st_dev; + if (thedev == netdev) { + for (sock_tmp = sockets; sock_tmp != NULL; + sock_tmp = sock_tmp->next) { + if (sock_tmp->net_inode == st.st_ino) { + st.st_ino = sock_tmp->inode; + st.st_dev = sock_tmp->dev; + thedev = sock_tmp->dev; + break; + } + } + } + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) { + if (thedev != dev_tmp->device) + continue; + if (access == ACCESS_FILE + && (lstat(filepath, &lst) == 0) + && (lst.st_mode & S_IWUSR)) { + add_matched_proc(dev_tmp->name, + pid, uid, + ACCESS_FILEWR | + access); + } else { + add_matched_proc(dev_tmp->name, + pid, uid, access); + } + } + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) { + if (thedev != ino_tmp->device) + continue; + if (!st.st_ino + && timeout(stat, filepath, &st, 5) != 0) { + fprintf(stderr, + _("Cannot stat file %s: %s\n"), + filepath, strerror(errno)); + continue; + } + if (st.st_ino == ino_tmp->inode) { + if (access == ACCESS_FILE + && (lstat(filepath, &lst) == 0) + && (lst.st_mode & S_IWUSR)) { + add_matched_proc(ino_tmp->name, + pid, uid, + ACCESS_FILEWR | + access); + } else { + add_matched_proc(ino_tmp->name, + pid, uid, + access); + } + } + } + } + } /* while fd_dent */ + closedir(dirp); +} + +static void +check_map(const pid_t pid, const char *filename, + struct device_list *dev_head, struct inode_list *ino_head, + const uid_t uid, const char access) +{ + char pathname[MAX_PATHNAME]; + char line[BUFSIZ]; + struct inode_list *ino_tmp; + struct device_list *dev_tmp; + FILE *fp; + unsigned long long tmp_inode; + unsigned int tmp_maj, tmp_min; + dev_t tmp_device; + + snprintf(pathname, MAX_PATHNAME, "/proc/%d/%s", pid, filename); + if ((fp = fopen(pathname, "r")) == NULL) + return; + while (fgets(line, BUFSIZ, fp)) { + if (sscanf(line, "%*s %*s %*s %x:%x %lld", + &tmp_maj, &tmp_min, &tmp_inode) == 3) { + tmp_device = tmp_maj * 256 + tmp_min; + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) + if (dev_tmp->device == tmp_device) + add_matched_proc(dev_tmp->name, pid, + uid, access); + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) + if (ino_tmp->device == tmp_device + && ino_tmp->inode == tmp_inode) + add_matched_proc(ino_tmp->name, pid, + uid, access); + } + } + fclose(fp); +} + +static uid_t getpiduid(const pid_t pid) +{ + char pathname[MAX_PATHNAME]; + struct stat st; + + if (snprintf(pathname, MAX_PATHNAME, "/proc/%d", pid) < 0) + return 0; + if (timeout(stat, pathname, &st, 5) != 0) + return 0; + return st.st_uid; +} + +/* + * fill_unix_cache : Create a list of Unix sockets + * This list is used later for matching purposes + */ +void fill_unix_cache(struct unixsocket_list **unixsocket_head) +{ + FILE *fp; + char line[BUFSIZ]; + int scanned_inode; + struct stat st; + struct unixsocket_list *newsocket; + + if ((fp = fopen("/proc/net/unix", "r")) == NULL) { + fprintf(stderr, _("Cannot open /proc/net/unix: %s\n"), + strerror(errno)); + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + char *path; + char *scanned_path = NULL; + if (sscanf(line, "%*x: %*x %*x %*x %*x %*d %d %as", + &scanned_inode, &scanned_path) != 2) { + if (scanned_path) + free(scanned_path); + continue; + } + if (scanned_path == NULL) + continue; + path = scanned_path; + if (*scanned_path == '@') + scanned_path++; + if (timeout(stat, scanned_path, &st, 5) < 0) { + free(path); + continue; + } + if ((newsocket = (struct unixsocket_list *) + malloc(sizeof(struct unixsocket_list))) == NULL) { + free(path); + continue; + } + newsocket->sun_name = strdup(scanned_path); + newsocket->inode = st.st_ino; + newsocket->dev = st.st_dev; + newsocket->net_inode = scanned_inode; + newsocket->next = *unixsocket_head; + *unixsocket_head = newsocket; + free(path); + } /* while */ + + fclose(fp); +} + +#ifdef DEBUG +/* often not used, doesn't need translation */ +static void +debug_match_lists(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head) +{ + struct names *nptr; + struct inode_list *iptr; + struct device_list *dptr; + + fprintf(stderr, "Specified Names:\n"); + for (nptr = names_head; nptr != NULL; nptr = nptr->next) { + fprintf(stderr, "\t%s %c\n", nptr->filename, nptr->name_space); + } + fprintf(stderr, "\nInodes:\n"); + for (iptr = ino_head; iptr != NULL; iptr = iptr->next) { + fprintf(stderr, " Dev:%0lx Inode:(%0ld) 0x%0lx => %s\n", + (unsigned long)iptr->device, (unsigned long)iptr->inode, + (unsigned long)iptr->inode, iptr->name->filename); + } + fprintf(stderr, "\nDevices:\n"); + for (dptr = dev_head; dptr != NULL; dptr = dptr->next) { + fprintf(stderr, "\tDev:%0lx\n", (unsigned long)dptr->device); + } +} + +#endif + +/* 0 = no, 1=yes */ +static int ask(const pid_t pid) +{ + int res; + size_t len = 0; + char *line = NULL; + + fflush(stdout); + while (1) { + fprintf(stderr, _("Kill process %d ? (y/N) "), pid); + fflush(stderr); + if (getline(&line, &len, stdin) < 0) + return 0; + if (line[0] == '\n') { + free(line); + return 0; + } + res = rpmatch(line); + if (res >= 0) { + free(line); + return res; + } + } /* while */ +} + +static int +kill_matched_proc(struct procs *proc_head, const opt_type opts, + const int sig_number) +{ + struct procs *pptr; + pid_t mypid; + int ret = 0; + + mypid = getpid(); + + for (pptr = proc_head; pptr != NULL; pptr = pptr->next) { + if (pptr->pid == mypid) + continue; /* dont kill myself */ + if (pptr->proc_type != PTYPE_NORMAL) + continue; + if ((opts & OPT_WRITE) && ((pptr->access & ACCESS_FILEWR) == 0)) + continue; + if ((opts & OPT_INTERACTIVE) && (ask(pptr->pid) == 0)) + continue; + if (kill(pptr->pid, sig_number) < 0) { + fprintf(stderr, _("Could not kill process %d: %s\n"), + pptr->pid, strerror(errno)); + continue; + } + ret = 1; + } + return ret; +} + +static dev_t find_net_dev(void) +{ + int skt; + struct stat st; + + if ((skt = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { + fprintf(stderr, _("Cannot open a network socket.\n")); + return -1; + } + if (fstat(skt, &st) != 0) { + fprintf(stderr, _("Cannot find socket's device number.\n")); + close(skt); + return -1; + } + close(skt); + return st.st_dev; +} + +static void +scan_knfsd(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head) +{ + struct device_list *dev_tmp; + struct inode_list *ino_tmp; + FILE *fp; + char line[BUFSIZ]; + char *find_space; + struct stat st; + + if ((fp = fopen(KNFSD_EXPORTS, "r")) == NULL) { +#ifdef DEBUG + printf("Cannot open %s\n", KNFSD_EXPORTS); +#endif + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + if (line[0] == '#') { + continue; + } + if ((find_space = strpbrk(line, " \t")) == NULL) + continue; + *find_space = '\0'; + if (timeout(stat, line, &st, 5) != 0) { + continue; + } + /* Scan the devices */ + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) { + if (st.st_dev == dev_tmp->device) + add_special_proc(dev_tmp->name, PTYPE_KNFSD, 0, + line); + } + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) { + if (st.st_dev == ino_tmp->device + && st.st_ino == ino_tmp->inode) + add_special_proc(ino_tmp->name, PTYPE_KNFSD, 0, + line); + } + } + fclose(fp); +} + +static void +scan_mounts(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head) +{ + struct device_list *dev_tmp; + struct inode_list *ino_tmp; + FILE *fp; + char line[BUFSIZ]; + char *find_mountp; + char *find_space; + struct stat st; + + if ((fp = fopen(PROC_MOUNTS, "r")) == NULL) { + fprintf(stderr, "Cannot open %s\n", PROC_MOUNTS); + return; + } + while (fgets(line, BUFSIZ, fp) != NULL) { + if ((find_mountp = strchr(line, ' ')) == NULL) + continue; + find_mountp++; + if ((find_space = strchr(find_mountp, ' ')) == NULL) + continue; + *find_space = '\0'; + if (timeout(stat, find_mountp, &st, 5) != 0) { + continue; + } + /* Scan the devices */ + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) { + if (st.st_dev == dev_tmp->device) + add_special_proc(dev_tmp->name, PTYPE_MOUNT, 0, + find_mountp); + } + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) { + if (st.st_dev == ino_tmp->device + && st.st_ino == ino_tmp->inode) + add_special_proc(ino_tmp->name, PTYPE_MOUNT, 0, + find_mountp); + } + } + fclose(fp); +} + +static void +scan_swaps(struct names *names_head, struct inode_list *ino_head, + struct device_list *dev_head) +{ + struct device_list *dev_tmp; + struct inode_list *ino_tmp; + FILE *fp; + char line[BUFSIZ]; + char *find_space; + struct stat st; + + if ((fp = fopen(PROC_SWAPS, "r")) == NULL) { + /*fprintf(stderr, "Cannot open %s\n", PROC_SWAPS); */ + return; + } + /* lines are filename type */ + while (fgets(line, BUFSIZ, fp) != NULL) { + if ((find_space = strchr(line, ' ')) == NULL) + continue; + *find_space = '\0'; + find_space++; + while (*find_space == ' ') { + find_space++; + if (*find_space == '\0') + continue; + } + if (timeout(stat, line, &st, 5) != 0) { + continue; + } + /* Scan the devices */ + for (dev_tmp = dev_head; dev_tmp != NULL; + dev_tmp = dev_tmp->next) { + if (st.st_dev == dev_tmp->device) + add_special_proc(dev_tmp->name, PTYPE_SWAP, 0, + line); + } + for (ino_tmp = ino_head; ino_tmp != NULL; + ino_tmp = ino_tmp->next) { + if (st.st_dev == ino_tmp->device + && st.st_ino == ino_tmp->inode) + add_special_proc(ino_tmp->name, PTYPE_SWAP, 0, + line); + } + } + fclose(fp); +} + +/* + * Execute stat(2) system call with timeout to avoid deadlock + * on network based file systems. + */ +#if defined(WITH_TIMEOUT_STAT) && (WITH_TIMEOUT_STAT == 1) + +static sigjmp_buf jenv; + +static void sigalarm(int sig) +{ + if (sig == SIGALRM) + siglongjmp(jenv, 1); +} + +static int +timeout(stat_t func, const char *path, struct stat *buf, unsigned int seconds) +{ + pid_t pid = 0; + int ret = 0, pipes[4]; + ssize_t len; + + if (pipe(&pipes[0]) < 0) + goto err; + switch ((pid = fork())) { + case -1: + close(pipes[0]); + close(pipes[1]); + goto err; + case 0: + (void)signal(SIGALRM, SIG_DFL); + close(pipes[0]); + if ((ret = func(path, buf)) == 0) + do + len = write(pipes[1], buf, sizeof(struct stat)); + while (len < 0 && errno == EINTR); + close(pipes[1]); + exit(ret); + default: + close(pipes[1]); + if (sigsetjmp(jenv, 1)) { + (void)alarm(0); + (void)signal(SIGALRM, SIG_DFL); + if (waitpid(0, (int *)0, WNOHANG) == 0) + kill(pid, SIGKILL); + errno = ETIMEDOUT; + seconds = 1; + goto err; + } + (void)signal(SIGALRM, sigalarm); + (void)alarm(seconds); + if (read(pipes[0], buf, sizeof(struct stat)) == 0) { + errno = EFAULT; + ret = -1; + } + (void)alarm(0); + (void)signal(SIGALRM, SIG_DFL); + close(pipes[0]); + waitpid(pid, NULL, 0); + break; + } + return ret; + err: + return -1; +} +#endif /* WITH_TIMEOUT_STAT */ + +#ifdef _LISTS_H +/* + * Use /proc/self/mountinfo of modern linux system to determine + * the device numbers of the mount points. Use this to avoid the + * stat(2) system call wherever possible. + */ + +static list_t mntinfo = { &mntinfo, &mntinfo }; + +static void clear_mntinfo(void) +{ + list_t *ptr, *tmp; + + list_for_each_safe(ptr, tmp, &mntinfo) { + mntinfo_t *mnt = list_entry(ptr, mntinfo_t); + delete(ptr); + free(mnt); + } +} + +static void init_mntinfo(void) +{ + char mpoint[PATH_MAX + 1]; + int mid, parid, max = 0; + uint maj, min; + list_t sort; + FILE *mnt; + + if (!list_empty(&mntinfo)) + return; + if ((mnt = fopen("/proc/self/mountinfo", "r")) == (FILE *) 0) + return; + while (fscanf + (mnt, "%i %i %u:%u %*s %s %*[^\n]", &mid, &parid, &maj, &min, + &mpoint[0]) == 5) { + const size_t nlen = strlen(mpoint); + mntinfo_t *restrict mnt; + if (posix_memalign + ((void *)&mnt, sizeof(void *), + alignof(mntinfo_t) + (nlen + 1)) != 0) { + fprintf(stderr, + _ + ("Cannot allocate memory for matched proc: %s\n"), + strerror(errno)); + exit(1); + } + append(mnt, mntinfo); + mnt->mpoint = ((char *)mnt) + alignof(mntinfo_t); + strcpy(mnt->mpoint, mpoint); + mnt->nlen = nlen; + mnt->parid = parid; + mnt->dev = makedev(maj, min); + mnt->id = mid; + if (mid > max) + max = mid; + } + fclose(mnt); + + /* Sort mount points accordingly to the reverse mount order */ + initial(&sort); + for (mid = 1; mid <= max; mid++) { + list_t *ptr, *tmp; + list_for_each_safe(ptr, tmp, &mntinfo) { + mntinfo_t *mnt = list_entry(ptr, mntinfo_t); + if (mid != mnt->id) + continue; + move_head(ptr, &sort); + break; + } + list_for_each_safe(ptr, tmp, &mntinfo) { + mntinfo_t *mnt = list_entry(ptr, mntinfo_t); + if (mid != mnt->parid) + continue; + move_head(ptr, &sort); + } + } + if (!list_empty(&mntinfo)) { +#ifdef EBADE + errno = EBADE; +#else + errno = ENOENT; +#endif /* EBADE */ + } + join(&sort, &mntinfo); +} + +/* + * Determine device of links below /proc/ + */ +static dev_t device(const char *path) +{ + char name[PATH_MAX + 1]; + const char *use; + ssize_t nlen; + list_t *ptr; + + if ((nlen = readlink(path, name, PATH_MAX)) < 0) { + nlen = strlen(path); + use = &path[0]; + } else { + name[nlen] = '\0'; + use = &name[0]; + } + + if (*use != '/') { /* special file (socket, pipe, inotify) */ + struct stat st; + if (timeout(stat, path, &st, 5) != 0) + return (dev_t) - 1; + return st.st_dev; + } + + list_for_each(ptr, &mntinfo) { + mntinfo_t *mnt = list_entry(ptr, mntinfo_t); + if (nlen < mnt->nlen) + continue; + if (mnt->nlen == 1) /* root fs is the last entry */ + return mnt->dev; + if (use[mnt->nlen] != '\0' && use[mnt->nlen] != '/') + continue; + if (strncmp(use, mnt->mpoint, mnt->nlen) == 0) + return mnt->dev; + } + return (dev_t) - 1; +} +#endif /* _LISTS_H */ + +/* + * Somehow the realpath(3) glibc function call, nevertheless + * it avoids lstat(2) system calls. + */ +static char real[PATH_MAX + 1]; +char *expandpath(const char *path) +{ + char tmpbuf[PATH_MAX + 1]; + const char *start, *end; + char *curr, *dest; + int deep = MAXSYMLINKS; + + if (!path || *path == '\0') + return (char *)0; + + curr = &real[0]; + + if (*path != '/') { + if (!getcwd(curr, PATH_MAX)) + return (char *)0; +#ifdef HAVE_RAWMEMCHR + dest = rawmemchr(curr, '\0'); +#else + dest = strchr(curr, '\0'); +#endif + } else { + *curr = '/'; + dest = curr + 1; + } + + for (start = end = path; *start; start = end) { + + while (*start == '/') + ++start; + + for (end = start; *end && *end != '/'; ++end) ; + + if (end - start == 0) + break; + else if (end - start == 1 && start[0] == '.') { + ; + } else if (end - start == 2 && start[0] == '.' + && start[1] == '.') { + if (dest > curr + 1) + while ((--dest)[-1] != '/') ; + } else { + char lnkbuf[PATH_MAX + 1]; + size_t len; + ssize_t n; + + if (dest[-1] != '/') + *dest++ = '/'; + + if (dest + (end - start) > curr + PATH_MAX) { + errno = ENAMETOOLONG; + return (char *)0; + } + + dest = mempcpy(dest, start, end - start); + *dest = '\0'; + + if (deep-- < 0) { + errno = ELOOP; + return (char *)0; + } + + errno = 0; + if ((n = readlink(curr, lnkbuf, PATH_MAX)) < 0) { + deep = MAXSYMLINKS; + if (errno == EINVAL) + continue; /* Not a symlink */ + return (char *)0; + } + lnkbuf[n] = '\0'; /* Don't be fooled by readlink(2) */ + + len = strlen(end); + if ((n + len) > PATH_MAX) { + errno = ENAMETOOLONG; + return (char *)0; + } + + memmove(&tmpbuf[n], end, len + 1); + path = end = memcpy(tmpbuf, lnkbuf, n); + + if (lnkbuf[0] == '/') + dest = curr + 1; + else if (dest > curr + 1) + while ((--dest)[-1] != '/') ; + + } + } + + if (dest > curr + 1 && dest[-1] == '/') + --dest; + *dest = '\0'; + + return curr; +} diff --git a/src/fuser.h b/src/fuser.h new file mode 100644 index 0000000..e804db0 --- /dev/null +++ b/src/fuser.h @@ -0,0 +1,110 @@ + +/* Option Flags */ +typedef unsigned short opt_type; + +#define OPT_VERBOSE 1 +#define OPT_ALLFILES 2 +#define OPT_MOUNTS 4 +#define OPT_KILL 8 +#define OPT_INTERACTIVE 16 +#define OPT_SILENT 32 +#define OPT_USER 64 +#define OPT_ISMOUNTPOINT 128 +#define OPT_WRITE 256 +#define OPT_SYSLOG 512 + +struct procs { + pid_t pid; + uid_t uid; + char access; + char proc_type; + char *username; + char *command; + struct procs *next; +}; + +/* For the access field above */ +#define ACCESS_CWD 1 +#define ACCESS_EXE 2 +#define ACCESS_FILE 4 +#define ACCESS_ROOT 8 +#define ACCESS_MMAP 16 +#define ACCESS_FILEWR 32 + +/* For the proc_type field above */ +#define PTYPE_NORMAL 0 +#define PTYPE_MOUNT 1 +#define PTYPE_KNFSD 2 +#define PTYPE_SWAP 3 + +struct names { + char *filename; + unsigned char name_space; + struct stat st; + struct procs *matched_procs; + struct names *next; +}; + +struct ip_connections { + struct names *name; + unsigned long lcl_port; + unsigned long rmt_port; + struct in_addr rmt_address; + struct ip_connections *next; +}; + +struct ip6_connections { + struct names *name; + unsigned long lcl_port; + unsigned long rmt_port; + struct in6_addr rmt_address; + struct ip6_connections *next; +}; + +struct inode_list { + struct names *name; + dev_t device; + ino_t inode; + struct inode_list *next; +}; + +struct device_list { + struct names *name; + dev_t device; + struct device_list *next; +}; + +struct unixsocket_list { + char *sun_name; + ino_t inode; + ino_t net_inode; + dev_t dev; + struct unixsocket_list *next; +}; + +struct mount_list { + char *mountpoint; + struct mount_list *next; +}; + +#if defined (__GNUC__) && defined(__OPTIMIZE__) && !defined (__CYGWIN__) +# include "lists.h" +typedef struct mntinfo_s { + list_t this; + int id, parid; + dev_t dev; + size_t nlen; + char *mpoint; +} mntinfo_t; +#endif + +#define NAMESPACE_FILE 0 +#define NAMESPACE_TCP 1 +#define NAMESPACE_UDP 2 + +#define MAX_PATHNAME 200 +#define MAX_CMDNAME 16 + +#define KNFSD_EXPORTS "/proc/fs/nfs/exports" +#define PROC_MOUNTS "/proc/mounts" +#define PROC_SWAPS "/proc/swaps" diff --git a/src/i18n.h b/src/i18n.h new file mode 100644 index 0000000..a0b4439 --- /dev/null +++ b/src/i18n.h @@ -0,0 +1,26 @@ +/* i18n.h - common i18n declarations for psmisc programs. */ + +#ifndef I18N_H +#define I18N_H + +#ifdef HAVE_CONFIG_H +#include +#endif + +#ifdef ENABLE_NLS +#include +#include +#define _(String) gettext (String) +#else +#define _(String) (String) +#endif + +#endif + +#ifndef HAVE_RPMATCH +#define rpmatch(line) \ + ( (line == NULL)? -1 : \ + (*line == 'y' || *line == 'Y')? 1 : \ + (*line == 'n' || *line == 'N')? 0 : \ + -1 ) +#endif diff --git a/src/killall.c b/src/killall.c new file mode 100644 index 0000000..9f2782a --- /dev/null +++ b/src/killall.c @@ -0,0 +1,847 @@ +/* + * killall.c - kill processes by name or list PIDs + * + * Copyright (C) 1993-2002 Werner Almesberger + * Copyright (C) 2002-2012 Craig Small + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef WITH_SELINUX +#include +#endif /*WITH_SELINUX*/ + +#ifdef HAVE_LOCALE_H +#include +#endif /* HAVE_LOCALE_H */ + +#include "i18n.h" +#include "comm.h" +#include "signals.h" + +#define PROC_BASE "/proc" +#define MAX_NAMES (int)(sizeof(unsigned long)*8) + +#define TSECOND "s" +#define TMINUTE "m" +#define THOUR "h" +#define TDAY "d" +#define TWEEK "w" +#define TMONTH "M" +#define TYEAR "y" + +#define TMAX_SECOND 31536000 +#define TMAX_MINUTE 525600 +#define TMAX_HOUR 8760 +#define TMAX_DAY 365 +#define TMAX_WEEK 48 +#define TMAX_MONTH 12 +#define TMAX_YEAR 1 + +#define ER_REGFAIL -1 +#define ER_NOMEM -2 +#define ER_UNKWN -3 +#define ER_OOFRA -4 + +static int verbose = 0, exact = 0, interactive = 0, reg = 0, + quiet = 0, wait_until_dead = 0, process_group = 0, + ignore_case = 0; +static long younger_than = 0, older_than = 0; + +static int +ask (char *name, pid_t pid, const int signal) +{ + int res; + size_t len; + char *line; + + line = NULL; + len = 0; + + do { + if (signal == SIGTERM) + printf (_("Kill %s(%s%d) ? (y/N) "), name, process_group ? "pgid " : "", + pid); + else + printf (_("Signal %s(%s%d) ? (y/N) "), name, process_group ? "pgid " : "", + pid); + + fflush (stdout); + + if (getline (&line, &len, stdin) < 0) + return 0; + /* Check for default */ + if (line[0] == '\n') { + free(line); + return 0; + } + res = rpmatch(line); + if (res >= 0) { + free(line); + return res; + } + } while(1); + /* Never should get here */ +} + +static double +uptime() +{ + char * savelocale; + char buf[2048]; + FILE* file; + if (!(file=fopen( PROC_BASE "/uptime", "r"))) { + fprintf(stderr, "killall: error opening uptime file\n"); + exit(1); + } + savelocale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC,"C"); + if (fscanf(file, "%2047s", buf) == EOF) perror("uptime"); + fclose(file); + setlocale(LC_NUMERIC,savelocale); + return atof(buf); +} + +/* process age from jiffies to seconds via uptime */ +static double process_age(const unsigned long long jf) +{ + double age; + double sc_clk_tck = sysconf(_SC_CLK_TCK); + assert(sc_clk_tck > 0); + age = uptime() - jf / sc_clk_tck; + if (age < 0L) + return 0L; + return age; +} + +/* returns requested time interval in seconds, + negative indicates error has occurred + */ +static long +parse_time_units(const char* age) +{ + char *unit; + long num; + + num = strtol(age,&unit,10); + if (age == unit) /* no digits found */ + return -1; + if (unit[0] == '\0') /* no units found */ + return -1; + + switch(unit[0]) { + case 's': + return num; + case 'm': + return (num * 60); + case 'h': + return (num * 60 * 60); + case 'd': + return (num * 60 * 60 * 24); + case 'w': + return (num * 60 * 60 * 24 * 7); + case 'M': + return (num * 60 * 60 * 24 * 7 * 4); + case 'y': + return (num * 60 * 60 * 24 * 7 * 4 * 12); + } + return -1; +} + +static int +match_process_uid(pid_t pid, uid_t uid) +{ + char buf[128]; + uid_t puid; + FILE *f; + int re = -1; + + snprintf (buf, sizeof buf, PROC_BASE "/%d/status", pid); + if (!(f = fopen (buf, "r"))) + return 0; + + while (fgets(buf, sizeof buf, f)) + { + if (sscanf (buf, "Uid:\t%d", &puid)) + { + re = uid==puid; + break; + } + } + fclose(f); + if (re==-1) + { + fprintf(stderr, _("killall: Cannot get UID from process status\n")); + exit(1); + } + return re; +} + +static regex_t * +build_regexp_list(int names, char **namelist) +{ + int i; + regex_t *reglist; + int flag = REG_EXTENDED|REG_NOSUB; + + if (!(reglist = malloc (sizeof (regex_t) * names))) + { + perror ("malloc"); + exit (1); + } + + if (ignore_case) + flag |= REG_ICASE; + + for (i = 0; i < names; i++) + { + if (regcomp(®list[i], namelist[i], flag) != 0) + { + fprintf(stderr, _("killall: Bad regular expression: %s\n"), namelist[i]); + exit (1); + } + } + return reglist; +} + +#ifdef WITH_SELINUX +static int +kill_all(int signal, int names, char **namelist, struct passwd *pwent, + regex_t *scontext ) +#else /*WITH_SELINUX*/ +static int +kill_all (int signal, int names, char **namelist, struct passwd *pwent) +#endif /*WITH_SELINUX*/ +{ + DIR *dir; + struct dirent *de; + FILE *file; + struct stat st, sts[MAX_NAMES]; + int *name_len = NULL; + char *path, comm[COMM_LEN]; + char *command_buf; + char *command; + pid_t *pid_table, pid, self, *pid_killed; + pid_t *pgids; + int i, j, okay, length, got_long, error; + int pids, max_pids, pids_killed; + unsigned long found; + regex_t *reglist = NULL;; +#ifdef WITH_SELINUX + security_context_t lcontext=NULL; +#endif /*WITH_SELINUX*/ + + if (names && reg) + reglist = build_regexp_list(names, namelist); + else if (names) + { + if (!(name_len = malloc (sizeof (int) * names))) + { + perror ("malloc"); + exit (1); + } + for (i = 0; i < names; i++) + { + if (!strchr (namelist[i], '/')) + { + sts[i].st_dev = 0; + name_len[i] = strlen (namelist[i]); + } + else if (stat (namelist[i], &sts[i]) < 0) + { + perror (namelist[i]); + exit (1); + } + } + } + self = getpid (); + found = 0; + if (!(dir = opendir (PROC_BASE))) + { + perror (PROC_BASE); + exit (1); + } + max_pids = 256; + pid_table = malloc (max_pids * sizeof (pid_t)); + if (!pid_table) + { + perror ("malloc"); + exit (1); + } + pids = 0; + while ( (de = readdir (dir)) != NULL) + { + if (!(pid = (pid_t) atoi (de->d_name)) || pid == self) + continue; + if (pids == max_pids) + { + if (!(pid_table = realloc (pid_table, 2 * pids * sizeof (pid_t)))) + { + perror ("realloc"); + exit (1); + } + max_pids *= 2; + } + pid_table[pids++] = pid; + } + (void) closedir (dir); + pids_killed = 0; + pid_killed = malloc (max_pids * sizeof (pid_t)); + if (!pid_killed) + { + perror ("malloc"); + exit (1); + } + if (!process_group) + pgids = NULL; /* silence gcc */ + else + { + pgids = calloc (pids, sizeof (pid_t)); + if (!pgids) + { + perror ("malloc"); + exit (1); + } + } + for (i = 0; i < pids; i++) + { + pid_t id; + int found_name = -1; + double process_age_sec = 0; + /* match by UID */ + if (pwent && match_process_uid(pid_table[i], pwent->pw_uid)==0) + continue; +#ifdef WITH_SELINUX + /* match by SELinux context */ + if (scontext) + { + if (getpidcon(pid_table[i], &lcontext) < 0) + continue; + if (regexec(scontext, lcontext, 0, NULL, 0) != 0) { + freecon(lcontext); + continue; + } + freecon(lcontext); + } +#endif /*WITH_SELINUX*/ + /* load process name */ + if (asprintf (&path, PROC_BASE "/%d/stat", pid_table[i]) < 0) + continue; + if (!(file = fopen (path, "r"))) + { + free (path); + continue; + } + free (path); + okay = fscanf (file, "%*d (%15[^)]", comm) == 1; + if (!okay) { + fclose(file); + continue; + } + if ( younger_than || older_than ) { + rewind(file); + unsigned long long proc_stt_jf = 0; + okay = fscanf(file, "%*d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %Lu", + &proc_stt_jf) == 1; + if (!okay) { + fclose(file); + continue; + } + process_age_sec = process_age(proc_stt_jf); + } + (void) fclose (file); + + got_long = 0; + command = NULL; /* make gcc happy */ + length = strlen (comm); + if (length == COMM_LEN - 1) + { + if (asprintf (&path, PROC_BASE "/%d/cmdline", pid_table[i]) < 0) + continue; + if (!(file = fopen (path, "r"))) { + free (path); + continue; + } + free (path); + while (1) { + /* look for actual command so we skip over initial "sh" if any */ + char *p; + int cmd_size = 128; + command_buf = (char *)malloc (cmd_size); + if (!command_buf) + exit (1); + + /* 'cmdline' has arguments separated by nulls */ + for (p=command_buf; ; p++) { + int c; + if (p == (command_buf + cmd_size)) + { + int cur_size = cmd_size; + cmd_size *= 2; + command_buf = (char *)realloc(command_buf, cmd_size); + if (!command_buf) + exit (1); + p = command_buf + cur_size; + } + c = fgetc(file); + if (c == EOF || c == '\0') { + *p = '\0'; + break; + } else { + *p = c; + } + } + if (strlen(command_buf) == 0) { + okay = 0; + break; + } + p = strrchr(command_buf,'/'); + p = p ? p+1 : command_buf; + if (strncmp(p, comm, COMM_LEN-1) == 0) { + okay = 1; + command = p; + break; + } + } + (void) fclose(file); + if (exact && !okay) + { + if (verbose) + fprintf (stderr, _("killall: skipping partial match %s(%d)\n"), + comm, pid_table[i]); + continue; + } + got_long = okay; + } + /* mach by process name */ + for (j = 0; j < names; j++) + { + if (reg) + { + if (regexec (®list[j], got_long ? command : comm, 0, NULL, 0) != 0) + continue; + } + else /* non-regex */ + { + if ( younger_than && process_age_sec && (process_age_sec > younger_than ) ) + continue; + if ( older_than && process_age_sec && (process_age_sec < older_than ) ) + continue; + + if (!sts[j].st_dev) + { + if (length != COMM_LEN - 1 || name_len[j] < COMM_LEN - 1) + { + if (ignore_case == 1) + { + if (strcasecmp (namelist[j], comm)) + continue; + } + else + { + if (strcmp(namelist[j], comm)) + continue; + } + } + else + { + if (ignore_case == 1) + { + if (got_long ? strcasecmp (namelist[j], command) : + strncasecmp (namelist[j], comm, COMM_LEN - 1)) + continue; + } + else + { + if (got_long ? strcmp (namelist[j], command) : + strncmp (namelist[j], comm, COMM_LEN - 1)) + continue; + } + } + } + else + { + int ok = 1; + + if (asprintf (&path, PROC_BASE "/%d/exe", pid_table[i]) < 0) + continue; + + if (stat (path, &st) < 0) + ok = 0; + + else if (sts[j].st_dev != st.st_dev || + sts[j].st_ino != st.st_ino) + { + /* maybe the binary has been modified and std[j].st_ino + * is not reliable anymore. We need to compare paths. + */ + size_t len = strlen(namelist[j]); + char *linkbuf = malloc(len + 1); + + if (!linkbuf || + readlink(path, linkbuf, len + 1) != len || + memcmp(namelist[j], linkbuf, len)) + ok = 0; + free(linkbuf); + } + + free(path); + if (!ok) + continue; + } + } /* non-regex */ + found_name = j; + break; + } + + if (names && found_name==-1) + continue; /* match by process name faild */ + + /* check for process group */ + if (!process_group) + id = pid_table[i]; + else + { + int j; + + id = getpgid (pid_table[i]); + pgids[i] = id; + if (id < 0) + { + fprintf (stderr, "killall: getpgid(%d): %s\n", + pid_table[i], strerror (errno)); + } + for (j = 0; j < i; j++) + if (pgids[j] == id) + break; + if (j < i) + continue; + } + if (interactive && !ask (comm, id, signal)) + continue; + if (kill (process_group ? -id : id, signal) >= 0) + { + if (verbose) + fprintf (stderr, _("Killed %s(%s%d) with signal %d\n"), got_long ? command : + comm, process_group ? "pgid " : "", id, signal); + if (found_name >= 0) + /* mark item of namelist */ + found |= 1 << found_name; + pid_killed[pids_killed++] = id; + } + else if (errno != ESRCH || interactive) + fprintf (stderr, "%s(%d): %s\n", got_long ? command : + comm, id, strerror (errno)); + } + if (!quiet) + for (i = 0; i < names; i++) + if (!(found & (1 << i))) + fprintf (stderr, _("%s: no process found\n"), namelist[i]); + if (names) + /* killall returns a zero return code if at least one process has + * been killed for each listed command. */ + error = found == ((1 << (names - 1)) | ((1 << (names - 1)) - 1)) ? 0 : 1; + else + /* in nameless mode killall returns a zero return code if at least + * one process has killed */ + error = pids_killed ? 0 : 1; + /* + * We scan all (supposedly) killed processes every second to detect dead + * processes as soon as possible in order to limit problems of race with + * PID re-use. + */ + while (pids_killed && wait_until_dead) + { + for (i = 0; i < pids_killed;) + { + if (kill (process_group ? -pid_killed[i] : pid_killed[i], 0) < 0 && + errno == ESRCH) + { + pid_killed[i] = pid_killed[--pids_killed]; + continue; + } + i++; + } + sleep (1); /* wait a bit longer */ + } + return error; +} + + +static void +usage (const char *msg) +{ + if (msg != NULL) + fprintf(stderr, "%s\n", msg); +#ifdef WITH_SELINUX + fprintf(stderr, _( + "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n")); +#else /*WITH_SELINUX*/ + fprintf(stderr, _( + "Usage: killall [OPTION]... [--] NAME...\n")); +#endif /*WITH_SELINUX*/ + fprintf(stderr, _( + " killall -l, --list\n" + " killall -V, --version\n\n" + " -e,--exact require exact match for very long names\n" + " -I,--ignore-case case insensitive process name match\n" + " -g,--process-group kill process group instead of process\n" + " -y,--younger-than kill processes younger than TIME\n" + " -o,--older-than kill processes older than TIME\n" + " -i,--interactive ask for confirmation before killing\n" + " -l,--list list all known signal names\n" + " -q,--quiet don't print complaints\n" + " -r,--regexp interpret NAME as an extended regular expression\n" + " -s,--signal SIGNAL send this signal instead of SIGTERM\n" + " -u,--user USER kill only process(es) running as USER\n" + " -v,--verbose report if the signal was successfully sent\n" + " -V,--version display version information\n" + " -w,--wait wait for processes to die\n")); +#ifdef WITH_SELINUX + fprintf(stderr, _( + " -Z,--context REGEXP kill only process(es) having context\n" + " (must precede other arguments)\n")); +#endif /*WITH_SELINUX*/ + fputc('\n', stderr); + exit(1); +} + + +void print_version() +{ + fprintf(stderr, "killall (PSmisc) %s\n", VERSION); + fprintf(stderr, _( + "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n\n")); + fprintf(stderr, _( + "PSmisc comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, and you are welcome to redistribute it under\n" + "the terms of the GNU General Public License.\n" + "For more information about these matters, see the files named COPYING.\n")); +} + +static int +have_proc_self_stat (void) +{ + char filename[128]; + struct stat isproc; + pid_t pid = getpid(); + + snprintf(filename, sizeof(filename), PROC_BASE"/%d/stat", (int) pid); + return stat(filename, &isproc) == 0; +} + +int +main (int argc, char **argv) +{ + char *name; + int sig_num; + int optc; + int myoptind; + struct passwd *pwent = NULL; + char yt[16]; + char ot[16]; + + //int optsig = 0; + + struct option options[] = { + {"exact", 0, NULL, 'e'}, + {"ignore-case", 0, NULL, 'I'}, + {"process-group", 0, NULL, 'g'}, + {"younger-than", 1, NULL, 'y'}, + {"older-than", 1, NULL, 'o'}, + {"interactive", 0, NULL, 'i'}, + {"list-signals", 0, NULL, 'l'}, + {"quiet", 0, NULL, 'q'}, + {"regexp", 0, NULL, 'r'}, + {"signal", 1, NULL, 's'}, + {"user", 1, NULL, 'u'}, + {"verbose", 0, NULL, 'v'}, + {"wait", 0, NULL, 'w'}, +#ifdef WITH_SELINUX + {"context", 1, NULL, 'Z'}, +#endif /*WITH_SELINUX*/ + {"version", 0, NULL, 'V'}, + {0,0,0,0 }}; + + /* Setup the i18n */ +#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); +#endif +#ifdef WITH_SELINUX + security_context_t scontext = NULL; + regex_t scontext_reg; + + if ( argc < 2 ) usage(NULL); /* do the obvious thing... */ +#endif /*WITH_SELINUX*/ + + name = strrchr (*argv, '/'); + if (name) + name++; + else + name = *argv; + sig_num = SIGTERM; + + + opterr = 0; +#ifdef WITH_SELINUX + while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwZ:VI",options,NULL)) != -1) { +#else + while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwVI",options,NULL)) != -1) { +#endif + switch (optc) { + case 'e': + exact = 1; + break; + case 'g': + process_group = 1; + break; + case 'y': + strncpy(yt, optarg, 16); + yt[15] = '\0'; + if ( 0 >= (younger_than = parse_time_units(yt) ) ) + usage(_("Invalid time format")); + break; + case 'o': + strncpy(ot, optarg, 16); + ot[15] = '\0'; + if ( 0 >= (older_than = parse_time_units(ot) ) ) + usage(_("Invalid time format")); + break; + case 'i': + interactive = 1; + break; + case 'l': + list_signals(); + return 0; + break; + case 'q': + quiet = 1; + break; + case 'r': + reg = 1; + break; + case 's': + sig_num = get_signal (optarg, "killall"); + break; + case 'u': + if (!(pwent = getpwnam(optarg))) { + fprintf (stderr, _("Cannot find user %s\n"), optarg); + exit (1); + } + break; + case 'v': + verbose = 1; + break; + case 'w': + wait_until_dead = 1; + break; + case 'I': + /* option check is optind-1 but sig name is optind */ + if (strcmp(argv[optind-1],"-I") == 0 || strncmp(argv[optind-1],"--",2) == 0) { + ignore_case = 1; + } else { + sig_num = get_signal (argv[optind]+1, "killall"); + } + break; + case 'V': + /* option check is optind-1 but sig name is optind */ + if (strcmp(argv[optind-1],"-V") == 0 || strncmp(argv[optind-1],"--",2) == 0) { + print_version(); + return 0; + } + sig_num = get_signal (argv[optind]+1, "killall"); + break; +#ifdef WITH_SELINUX + case 'Z': + if (is_selinux_enabled()>0) { + scontext=optarg; + if (regcomp(&scontext_reg, scontext, REG_EXTENDED|REG_NOSUB) != 0) { + fprintf(stderr, _("Bad regular expression: %s\n"), scontext); + exit (1); + } + } else + fprintf(stderr, "Warning: -Z (--context) ignored. Requires an SELinux enabled kernel\n"); + break; +#endif /*WITH_SELINUX*/ + case '?': + /* Signal names are in uppercase, so check to see if the argv + * is upper case */ + if (argv[optind-1][1] >= 'A' && argv[optind-1][1] <= 'Z') { + sig_num = get_signal (argv[optind-1]+1, "killall"); + } else { + /* Might also be a -## signal too */ + if (argv[optind-1][1] >= '0' && argv[optind-1][1] <= '9') { + sig_num = atoi(argv[optind-1]+1); + } else { + usage(NULL); + } + } + break; + } + } + myoptind = optind; +#ifdef WITH_SELINUX + if ((argc - myoptind < 1) && pwent==NULL && scontext==NULL) +#else + if ((argc - myoptind < 1) && pwent==NULL) +#endif + usage(NULL); + + if (argc - myoptind > MAX_NAMES) { + fprintf (stderr, _("killall: Maximum number of names is %d\n"), + MAX_NAMES); + exit (1); + } + if (!have_proc_self_stat()) { + fprintf (stderr, _("killall: %s lacks process entries (not mounted ?)\n"), + PROC_BASE); + exit (1); + } + argv = argv + myoptind; + /*printf("sending signal %d to procs\n", sig_num);*/ +#ifdef WITH_SELINUX + return kill_all(sig_num,argc - myoptind, argv, pwent, + scontext ? &scontext_reg : NULL); +#else /*WITH_SELINUX*/ + return kill_all(sig_num,argc - myoptind, argv, pwent); +#endif /*WITH_SELINUX*/ +} diff --git a/src/lists.h b/src/lists.h new file mode 100644 index 0000000..ae8929e --- /dev/null +++ b/src/lists.h @@ -0,0 +1,249 @@ +/* + * lists.h Simple doubly linked list implementation, + * based on and . + * + * Version: 0.1 01-Feb-2011 Fink + * + * Copyright 2011 Werner Fink, 2005 SUSE LINUX Products GmbH, Germany. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Author: Werner Fink , 2011 + */ + +#ifndef _LISTS_H +#define _LISTS_H + +#include +#include + +typedef enum _boolean {false, true} boolean; +typedef unsigned char uchar; +#ifndef __USE_MISC +typedef unsigned short ushort; +typedef unsigned int uint; +#endif + +#ifndef __OPTIMIZE__ +# warning This will not compile without -O at least +#endif +#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) +# ifndef inline +# define inline __inline__ +# endif +# ifndef restrict +# define restrict __restrict__ +# endif +# ifndef volatile +# define volatile __volatile__ +# endif +# ifndef asm +# define asm __asm__ +# endif +# ifndef extension +# define extension __extension__ +# endif +#endif +#ifndef attribute +# define attribute(attr) __attribute__(attr) +#endif + +/* + * This is lent from the kernel by e.g. using + * + * echo '#include \nint main () { prefetch(); return 0; }' | \ + * gcc -I/usr/src/linux/include -D__KERNEL__ -x c -E -P - | \ + * sed -rn '/void[[:blank:]]+prefetch[[:blank:]]*\(/,/^}/p' + * + * on the appropriate architecture (here on i686 for i586). + */ +extern inline void attribute((used,__gnu_inline__,always_inline,__artificial__)) prefetch(const void *restrict x) +{ +#if defined(__x86_64__) + asm volatile ("prefetcht0 %0" :: "m" (*(unsigned long *)x)) +#elif defined(__ia64__) + asm volatile ("lfetch [%0]" :: "r" (x)) +#elif defined(__powerpc64__) + asm volatile ("dcbt 0,%0" :: "r" (x)) +#elif !defined(__CYGWIN__) && !defined(__PIC__) && defined(__i386__) + asm volatile ("661:\n\t" + ".byte 0x8d,0x74,0x26,0x00\n" + "\n662:\n" + ".section .altinstructions,\"a\"\n" + " .align 4\n" + " .long 661b\n" + " .long 663f\n" + " .byte %c0\n" + " .byte 662b-661b\n" + " .byte 664f-663f\n" + ".previous\n" + ".section .altinstr_replacement,\"ax\"\n" + " 663:\n\t" + " prefetchnta (%1)" + " \n664:\n" + ".previous" + :: "i" ((0*32+25)), "r" (x)) +#else + __builtin_prefetch ((x), 0, 1); +#endif + ; +} + +#if defined(DEBUG) && (DEBUG > 0) +# define __align attribute((packed)) +#else +# define __align attribute((aligned(sizeof(struct list_struct*)))) +#endif +#define __packed attribute((packed)) + +#define alignof(type) ((sizeof(type)+(sizeof(void*)-1)) & ~(sizeof(void*)-1)) +#define strsize(string) ((strlen(string)+1)*sizeof(char)) + +typedef struct list_struct { + struct list_struct * next, * prev; +} __align list_t; + +/* + * Linked list handling + * ==================== + * The structures which will be linked into such lists have to be of the + * same type. The structures may have alway a list identifier of the type + * `list_t' as very first element. With this the macro list_entry() can + * be used to cast the memory address of a list member to the corresponding + * allocated structure. + */ + +/* + * Insert new entry as next member. + */ +static inline void _insert(list_t *restrict new, list_t *restrict here) attribute((always_inline,nonnull(1,2))); +static inline void _insert(list_t *restrict new, list_t *restrict here) +{ + list_t * prev = here; + list_t * next = here->next; + + next->prev = new; + new->next = next; + new->prev = prev; + prev->next = new; +} + +#define insert(new, list) _insert(&((new)->this), (&(list))); +#define append(new, list) _insert(&((new)->this), (&(list))->prev); + +/* + * Set head + */ +static inline void initial(list_t *restrict head) attribute((always_inline,nonnull(1))); +static inline void initial(list_t *restrict head) +{ + head->prev = head->next = head; +} + +/* + * Remove entries, note that the pointer its self remains. + */ +static inline void delete(list_t *restrict entry) attribute((always_inline,nonnull(1))); +static inline void delete(list_t *restrict entry) +{ + list_t * prev = entry->prev; + list_t * next = entry->next; + + next->prev = prev; + prev->next = next; + + initial(entry); +} + +/* + * Replace an entry by a new one. + */ +static inline void replace(list_t *restrict old, list_t *restrict new) attribute((always_inline,nonnull(1,2))); +static inline void replace(list_t *restrict old, list_t *restrict new) +{ + new->next = old->next; + new->next->prev = new; + new->prev = old->prev; + new->prev->next = new; +} + +static inline void join(list_t *restrict list, list_t *restrict head) attribute((always_inline,nonnull(1,2))); +static inline void join(list_t *restrict list, list_t *restrict head) +{ + list_t * first = list->next; + + if (first != list) { + list_t * last = list->prev; + list_t * at = head->next; + + first->prev = head; + head->next = first; + + last->next = at; + at->prev = last; + } +} + +static inline boolean list_empty(const list_t *restrict const head) attribute((always_inline,nonnull(1))); +static inline boolean list_empty(const list_t *restrict const head) +{ + return head->next == head; +} + +static inline void move_head(list_t *restrict entry, list_t *restrict head) attribute((always_inline,nonnull(1,2))); +static inline void move_head(list_t *restrict entry, list_t *restrict head) +{ + list_t * prev = entry->prev; + list_t * next = entry->next; + + next->prev = prev; /* remove entry from old list */ + prev->next = next; + + prev = head; + next = head->next; + + next->prev = entry; /* and add it at head of new list */ + entry->next = next; + entry->prev = prev; + prev->next = entry; +} + +static inline void move_tail(list_t *restrict entry, list_t *restrict head) attribute((always_inline,nonnull(1,2))); +static inline void move_tail(list_t *restrict entry, list_t *restrict head) +{ + list_t * prev = entry->prev; + list_t * next = entry->next; + + next->prev = prev; /* remove entry from old list */ + prev->next = next; + + prev = head->prev; + next = head; + + next->prev = entry; /* and add it at tail of new list */ + entry->next = next; + entry->prev = prev; + prev->next = entry; +} + +/* + * The handle of the list is named `this' + */ +#define list_entry(ptr, type) (__extension__ ({ \ + const typeof( ((type *)0)->this ) *__mptr = (ptr); \ + ((type *)( (char *)(__mptr) - offsetof(type,this) )); })) +#define list_for_each(pos, head) \ + for (pos = (head)->next; prefetch(pos->next), pos != (head); pos = pos->next) +#define np_list_for_each(pos, head) \ + for (pos = (head)->next; pos != (head); pos = pos->next) +#define list_for_each_safe(pos, safe, head) \ + for (pos = (head)->next, safe = pos->next; pos != (head); pos = safe, safe = pos->next) +#define list_for_each_prev(pos, head) \ + for (pos = (head)->prev; prefetch(pos->prev), pos != (head); pos = pos->prev) +#define np_list_for_each_prev(pos, head) \ + for (pos = (head)->prev; pos != (head); pos = pos->prev) + +#endif /* _LISTS_H */ diff --git a/src/peekfd.c b/src/peekfd.c new file mode 100644 index 0000000..c4a3474 --- /dev/null +++ b/src/peekfd.c @@ -0,0 +1,308 @@ +/* + * peekfd.c - Intercept file descriptor read and writes + * + * Copyright (C) 2007 Trent Waddington + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "i18n.h" + +#ifdef I386 + #define REG_ORIG_ACCUM orig_eax + #define REG_ACCUM eax + #define REG_PARAM1 ebx + #define REG_PARAM2 ecx + #define REG_PARAM3 edx +#elif X86_64 + #define REG_ORIG_ACCUM orig_rax + #define REG_ACCUM rax + #define REG_PARAM1 rdi + #define REG_PARAM2 rsi + #define REG_PARAM3 rdx +#elif PPC + #define REG_ORIG_ACCUM gpr[0] + #define REG_ACCUM gpr[3] + #define REG_PARAM1 orig_gpr3 + #define REG_PARAM2 gpr[4] + #define REG_PARAM3 gpr[5] +#ifndef PT_ORIG_R3 + #define PT_ORIG_R3 34 +#endif +#elif defined(ARM) +#ifndef __ARM_EABI__ +#error arm oabi not supported +#endif + #define REG_ORIG_ACCUM ARM_r7 + #define REG_ACCUM ARM_r0 + #define REG_PARAM1 ARM_ORIG_r0 + #define REG_PARAM2 ARM_r1 + #define REG_PARAM3 ARM_r2 +#elif defined(MIPS) +#ifndef MIPSEL +#error only little endian supported +#endif + #define REG_ORIG_ACCUM regs[3] + #define REG_ACCUM regs[2] + #define REG_PARAM1 regs[4] + #define REG_PARAM2 regs[5] + #define REG_PARAM3 regs[6] +#endif + +#define MAX_ATTACHED_PIDS 1024 +int num_attached_pids = 0; +pid_t attached_pids[MAX_ATTACHED_PIDS]; + +void detach(void) { + int i; + for (i = 0; i < num_attached_pids; i++) + ptrace(PTRACE_DETACH, attached_pids[i], 0, 0); +} + +void attach(pid_t pid) { + if (num_attached_pids >= MAX_ATTACHED_PIDS) + return; + attached_pids[num_attached_pids] = pid; + if (ptrace(PTRACE_ATTACH, pid, 0, 0) == -1) { + fprintf(stderr, _("Error attaching to pid %i\n"), pid); + return; + } + num_attached_pids++; +} + +void print_version() +{ + fprintf(stderr, _("peekfd (PSmisc) %s\n"), VERSION); + fprintf(stderr, _( + "Copyright (C) 2007 Trent Waddington\n\n")); + fprintf(stderr, _( + "PSmisc comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, and you are welcome to redistribute it under\n" + "the terms of the GNU General Public License.\n" + "For more information about these matters, see the files named COPYING.\n")); +} + +void usage() { + fprintf(stderr, _( + "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" + " -8 output 8 bit clean streams.\n" + " -n don't display read/write from fd headers.\n" + " -c peek at any new child processes too.\n" + " -d remove duplicate read/writes from the output.\n" + " -V prints version info.\n" + " -h prints this help.\n" + "\n" + " Press CTRL-C to end output.\n")); +} + +int bufdiff(pid_t pid, unsigned char *lastbuf, unsigned int addr, unsigned int len) { + int i; + for (i = 0; i < len; i++) + if (lastbuf[i] != (ptrace(PTRACE_PEEKTEXT, pid, addr + i, 0) & 0xff)) + return 1; + return 0; +} + +int main(int argc, char **argv) +{ + int eight_bit_clean = 0; + int no_headers = 0; + int follow_forks = 0; + int remove_duplicates = 0; + int optc; + int target_pid = 0; + int numfds = 0; + int *fds = NULL; + int i; + + struct option options[] = { + {"eight-bit-clean", 0, NULL, '8'}, + {"no-headers", 0, NULL, 'n'}, + {"follow", 0, NULL, 'c'}, + {"duplicates-removed", 0, NULL, 'd'}, + {"help", 0, NULL, 'h'}, + {"version", 0, NULL, 'V'}, + }; + + /* Setup the i18n */ +#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); +#endif + + if (argc < 2) { + usage(); + return 1; + } + + while ((optc = getopt_long(argc, argv, "8ncdhV",options, NULL)) != -1) { + switch(optc) { + case '8': + eight_bit_clean = 1; + break; + case 'n': + no_headers = 1; + break; + case 'c': + follow_forks = 1; + break; + case 'd': + remove_duplicates = 1; + break; + case 'V': + print_version(); + return 1; + case 'h': + case '?': + usage(); + return 1; + } + } + /* First arg off the options is the PID to see */ + if (optind >= argc) { + usage(); + return -1; + } + target_pid = atoi(argv[optind++]); + + if (optind < argc) { + numfds = argc - optind; + fds = malloc(sizeof(int) * numfds); + for (i = 0; i < numfds; i++) + fds[i] = atoi(argv[optind + i]); + } + + attach(target_pid); + if (num_attached_pids == 0) + return 1; + + atexit(detach); + + ptrace(PTRACE_SYSCALL, attached_pids[0], 0, 0); + + /*int count = 0;*/ + int lastfd = numfds > 0 ? fds[0] : 0; + int lastdir = 3; + unsigned char *lastbuf = NULL; + int last_buf_size=-1; + + for(;;) { + int status; + pid_t pid = wait(&status); + if (WIFSTOPPED(status)) { +#ifdef PPC + struct pt_regs regs; + regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R0, 0); + regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R3, 0); + regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R4, 0); + regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_R5, 0); + regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, __WORDSIZE/8 * PT_ORIG_R3, 0); +#elif defined(ARM) + struct pt_regs regs; + ptrace(PTRACE_GETREGS, pid, 0, ®s); +#elif defined(MIPS) + struct pt_regs regs; + long pc = ptrace(PTRACE_PEEKUSER, pid, 64, 0); + regs.regs[2] = ptrace(PTRACE_PEEKUSER,pid,2,0); + regs.regs[3] = ptrace(PTRACE_PEEKTEXT, pid, pc - 8, 0) & 0xffff; + regs.regs[4] = ptrace(PTRACE_PEEKUSER,pid,4,0); + regs.regs[5] = ptrace(PTRACE_PEEKUSER,pid,5,0); + regs.regs[6] = ptrace(PTRACE_PEEKUSER,pid,6,0); +#else + struct user_regs_struct regs; + ptrace(PTRACE_GETREGS, pid, 0, ®s); +#endif + /*unsigned int b = ptrace(PTRACE_PEEKTEXT, pid, regs.eip, 0);*/ + if (follow_forks && (regs.REG_ORIG_ACCUM == SYS_fork || regs.REG_ORIG_ACCUM == SYS_clone)) { + if (regs.REG_ACCUM > 0) + attach(regs.REG_ACCUM); + } + if ((regs.REG_ORIG_ACCUM == SYS_read || regs.REG_ORIG_ACCUM == SYS_write) && (regs.REG_PARAM3 == regs.REG_ACCUM)) { + for (i = 0; i < numfds; i++) + if (fds[i] == regs.REG_PARAM1) + break; + if (i != numfds || numfds == 0) { + if (regs.REG_PARAM1 != lastfd || regs.REG_ORIG_ACCUM != lastdir) { + lastfd = regs.REG_PARAM1; + lastdir = regs.REG_ORIG_ACCUM; + if (!no_headers) + printf("\n%sing fd %i:\n", regs.REG_ORIG_ACCUM == SYS_read ? "read" : "writ", lastfd); + } + if (!remove_duplicates || lastbuf == NULL + || last_buf_size != regs.REG_PARAM3 || + bufdiff(pid, lastbuf, regs.REG_PARAM2, regs.REG_PARAM3)) { + + if (remove_duplicates) { + if (lastbuf) + free(lastbuf); + lastbuf = malloc(regs.REG_PARAM3); + last_buf_size = regs.REG_PARAM3; + } + + for (i = 0; i < regs.REG_PARAM3; i++) { +#ifdef _BIG_ENDIAN +#if __WORDSIZE == 64 + unsigned int a = bswap_64(ptrace(PTRACE_PEEKTEXT, pid, regs.REG_PARAM2 + i, 0)); +#else + unsigned int a = bswap_32(ptrace(PTRACE_PEEKTEXT, pid, regs.REG_PARAM2 + i, 0)); +#endif +#else + unsigned int a = ptrace(PTRACE_PEEKTEXT, pid, regs.REG_PARAM2 + i, 0); +#endif + if (remove_duplicates) + lastbuf[i] = a & 0xff; + + if (eight_bit_clean) + putchar(a & 0xff); + else { + if (isprint(a & 0xff) || (a & 0xff) == '\n') + printf("%c", a & 0xff); + else if ((a & 0xff) == 0x0d) + printf("\n"); + else if ((a & 0xff) == 0x7f) + printf("\b"); + else if (a & 0xff) + printf(" [%02x] ", a & 0xff); + } + } + } + fflush(stdout); + } + } + + ptrace(PTRACE_SYSCALL, pid, 0, 0); + } + } + + return 0; +} diff --git a/src/prtstat.c b/src/prtstat.c new file mode 100644 index 0000000..7ed2bee --- /dev/null +++ b/src/prtstat.c @@ -0,0 +1,331 @@ +/* + * prtstat.c - Print a processes stat file + * + * Copyright (C) 2009 Craig Small + * Based upon a shell script pstat by martin f. krafft + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "i18n.h" +#include "prtstat.h" + +#define NORETURN __attribute__((__noreturn__)) + +static long sc_clk_tck; + +static void usage(const char *errormsg) NORETURN; + +static void usage(const char *errormsg) +{ + if (errormsg != NULL) + fprintf(stderr, "%s\n", errormsg); + fprintf(stderr, + _ + ("Usage: prtstat [options] PID ...\n" + " prtstat -V\n" + "Print information about a process\n" + " -r,--raw Raw display of information\n" + " -V,--version Display version information and exit\n" + )); + exit(1); +} + +static void print_version(void) +{ + fprintf(stderr, _("prtstat (PSmisc) %s\n"), VERSION); + fprintf(stderr, _( "Copyright (C) 2009 Craig Small\n\n")); + fprintf(stderr, _( + "PSmisc comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, and you are welcome to redistribute it under\n" + "the terms of the GNU General Public License.\n" + "For more information about these matters, see the files named COPYING.\n")); +} + +static char *print_state(const char state) +{ + switch(state) { + case 'R': + return _("running"); + case 'S': + return _("sleeping"); + case 'D': + return _("disk sleep"); + case 'Z': + return _("zombie"); + case 'T': + return _("traced"); + case 'W': + return _("paging"); + } + return _("unknown"); +} + +#define RAW_STAT(afmt,aname, aval, bfmt, bname, bval) \ + printf("%12.11s: %-15"afmt"\t%22.21s: %"bfmt"\n",(aname),(aval),(bname),(bval)) + +static double convert_time(const unsigned long ticks) +{ + assert(sc_clk_tck > 0); + return (float)ticks / (float)sc_clk_tck; +} + +static void convert_bytes(char *buf, unsigned long bytes) +{ + if (bytes > (10000000)) + sprintf(buf, "%lu MB",bytes/1000000L); + else if (bytes > (10000)) + sprintf(buf, "%lu kB", bytes/1000L); + else + sprintf(buf, "%lu B", bytes); +} + +/* comes from SCHED_* from linux/sched.h */ +static char *convert_policy(const unsigned int policy) +{ + static char *policy_names[] = { "normal", "fifo","rr", "batch", "iso", "idle" }; + if (policy < 6) + return policy_names[policy]; + return "unknown"; +} + +/* minor is bits 31-20 and 7-0, major is 15-8 */ +static char *convert_tty(int tty_nr) +{ + static char buf[20]; + sprintf(buf, "%d:%d",(tty_nr & 0xff00)>>8,(tty_nr & 0xff)|((tty_nr & 0xfff00000)>>20)); + return buf; +} + + +static void print_raw_stat(const int pid,struct proc_info *pr) +{ + RAW_STAT("d","pid",pid,"s","comm",pr->comm); + RAW_STAT("c","state",pr->state, "d","ppid",pr->ppid); + RAW_STAT("d","pgrp",pr->pgrp, "d","session",pr->session); + RAW_STAT("d","tty_nr",pr->tty_nr, "d","tpgid",pr->tp_gid); + RAW_STAT("x","flags",pr->flags, "lu","minflt",pr->minflt); + RAW_STAT("lu","cminflt",pr->cminflt, "lu","majflt",pr->majflt); + RAW_STAT("lu","cmajflt",pr->cmajflt, "lu","utime",pr->utime); + RAW_STAT("lu","stime",pr->stime, "ld","cutime",pr->cutime); + RAW_STAT("ld","cstime",pr->cstime, "ld","priority",pr->priority); + RAW_STAT("ld","nice",pr->nice, "ld","num_threads",pr->num_threads); + RAW_STAT("ld","itrealvalue",pr->itrealvalue, "llu","starttime",pr->starttime); + RAW_STAT("lu","vsize",pr->vsize, "ld","rss",pr->rss); + RAW_STAT("lu","rsslim",pr->rsslim, "lu","startcode",pr->startcode); + RAW_STAT("lu","endcode",pr->endcode, "lu","startstack",pr->startstack); + RAW_STAT("lX","kstkesp",pr->kstesp, "lX","kstkeip",pr->ksteip); + RAW_STAT("lu","wchan",pr->wchan, "lu","nswap",pr->nswap); + RAW_STAT("lu","cnswap",pr->wchan, "d","exit_signal",pr->exit_signal); + RAW_STAT("d","processor",pr->processor, "u","rt_priority",pr->rt_priority); + RAW_STAT("u","policy",pr->policy, "llu","delayaccr_blkio_ticks",pr->blkio); + RAW_STAT("lu","guest_time",pr->guest_time, "ld","cguest_time",pr->cguest_time); +} +static void print_formated_stat(const int pid,struct proc_info *pr) +{ + char buf_vsize[100]; + char buf_rss[100]; + char buf_rsslim[100]; + long page_size; + + page_size = sysconf(_SC_PAGESIZE); + assert(page_size>1); + + printf(_( + "Process: %-14s\t\tState: %c (%s)\n" + " CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"), + pr->comm, pr->state, print_state(pr->state), + pr->processor, convert_tty(pr->tty_nr), pr->num_threads); + printf(_( + "Process, Group and Session IDs\n" + " Process ID: %d\t\t Parent ID: %d\n" + " Group ID: %d\t\t Session ID: %d\n" + " T Group ID: %d\n\n"), + pid, pr->ppid, pr->pgrp, pr->session, pr->tp_gid); + printf(_( + "Page Faults\n" + " This Process (minor major): %8lu %8lu\n" + " Child Processes (minor major): %8lu %8lu\n"), + pr->minflt, pr->majflt, pr->cminflt, pr->cmajflt); + printf(_( + "CPU Times\n" + " This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n" + " Child processes (user system guest): %6.2f %6.2f %6.2f\n"), + convert_time(pr->utime), convert_time(pr->stime), convert_time(pr->guest_time), convert_time(pr->blkio), + convert_time(pr->cutime), convert_time(pr->cstime), convert_time(pr->cguest_time)); + convert_bytes(buf_vsize, pr->vsize); + convert_bytes(buf_rss, pr->rss*page_size); + convert_bytes(buf_rsslim, pr->rsslim); + printf(_( + "Memory\n" + " Vsize: %-10s\n" + " RSS: %-10s \t\t RSS Limit: %s\n" + " Code Start: %#-10lx\t\t Code Stop: %#-10lx\n" + " Stack Start: %#-10lx\n" + " Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"), + buf_vsize, buf_rss, buf_rsslim, + pr->startcode, pr->endcode, + pr->startstack, pr->kstesp, pr->ksteip); + printf(_( + "Scheduling\n" + " Policy: %s\n" + " Nice: %ld \t\t RT Priority: %ld %s\n"), + convert_policy(pr->policy), + pr->nice, (pr->priority>0?pr->priority-20:1-pr->priority), + (pr->priority>0?"(non RT)":"")); + + + + +} +static void print_stat(const int pid, const opt_type options) +{ + char *pathname; + char buf[BUFSIZ]; + char *bptr; + FILE *fp; + + struct proc_info *pr; + pr = malloc(sizeof(struct proc_info)); + + if ( (asprintf(&pathname, "/proc/%d/stat",(int)pid)) < 0) { + perror(_("asprintf in print_stat failed.\n")); + exit(1); + } + if ( (fp = fopen(pathname,"r")) == NULL) { + if (errno == ENOENT) + fprintf(stderr, _("Process with pid %d does not exist.\n"), pid); + else + fprintf(stderr, _("Unable to open stat file for pid %d (%s)\n"),(int)pid,strerror(errno)); + free(pathname); + return; + } + free(pathname); + + if (fgets(buf,BUFSIZ,fp) == NULL) return; + bptr = strchr(buf, '('); + if (bptr == NULL) return; + bptr++; + sscanf(bptr, + "%a[^)]) " + "%c " + "%d %d %d %d %d %d" + "%lu %lu %lu %lu " /*flts*/ + "%lu %lu %lu %lu " /*times */ + "%ld %ld %ld %ld " /* nice, priority, threads, itreal*/ + "%llu " /*startime*/ + "%lu %ld %lu " /* vsize, rss, rslim */ + "%lu %lu %lu " /* startcode endcode startstack */ + "%lu %lu " /* stack and ip */ + "%*s %*s %*s %*s " /* signals - ignore as they are obsolete */ + "%lu %lu %lu " /* wchan nswap cnswap */ + "%d %d %u" + "%u %llu " /* policy blkio */ + "%lu %lu ", /* guest time cguest time */ + &pr->comm, + &pr->state, + &pr->ppid, &pr->pgrp, &pr->session, &pr->tty_nr, &pr->tp_gid, &pr->flags, + &pr->minflt, &pr->cminflt, &pr->majflt, &pr->cmajflt, + &pr->utime, &pr->stime, &pr->cutime, &pr->cstime, + &pr->priority, &pr->nice, &pr->num_threads, &pr->itrealvalue, + &pr->starttime, + &pr->vsize, &pr->rss, &pr->rsslim, + &pr->startcode, &pr->endcode, &pr->startstack, + &pr->kstesp, &pr->ksteip, + &pr->wchan, &pr->nswap, &pr->cnswap, + &pr->exit_signal, &pr->processor, &pr->rt_priority, + &pr->policy, &pr->blkio, + &pr->guest_time, &pr->cguest_time + ); + if (options & OPT_RAW) { + print_raw_stat(pid, pr); + return; + } + print_formated_stat(pid, pr); + + +} + +int main(int argc, char *argv[]) +{ + int optc; + struct stat st; + int pptr; + int pid; + opt_type opt_flags = 0; + + struct option options[] = { + {"raw" ,0, NULL, 'r' }, + {"version", 0, NULL, 'V'}, + { 0, 0, 0, 0} + }; + +#ifdef ENABLE_NLS + /* Set up the i18n */ + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); +#endif + + while ((optc = getopt_long(argc, argv, "rV", options, NULL)) != -1) { + switch(optc) { + case 'r': + opt_flags |= OPT_RAW; + break; + case 'V': + print_version(); + return 0; + case '?': + usage(_("Invalid option")); + break; + } + } /* while */ + if (argc <= optind) + usage(_("You must provide at least one PID.")); + + if (stat("/proc/self/stat", &st) == -1) + { + fprintf(stderr, _("/proc is not mounted, cannot stat /proc/self/stat.\n")); + exit(1); + } + sc_clk_tck = sysconf(_SC_CLK_TCK); + for(pptr = optind; pptr < argc; pptr++) + { + pid = atoi(argv[pptr]); + print_stat(pid, opt_flags); + } + + return 0; +} + + + diff --git a/src/prtstat.h b/src/prtstat.h new file mode 100644 index 0000000..64c724f --- /dev/null +++ b/src/prtstat.h @@ -0,0 +1,21 @@ + +typedef unsigned char opt_type; +#define OPT_RAW 1 + +struct proc_info +{ + char *comm; + char state; + int ppid, pgrp, session, tty_nr, tp_gid, + exit_signal, processor; + unsigned int flags, rt_priority, policy; + unsigned long minflt, cminflt, majflt, cmajflt, + utime, stime, vsize, rsslim, + startcode, endcode, startstack, + kstesp, ksteip, + wchan, nswap, cnswap, guest_time; + long cutime, cstime, priority, nice, num_threads, + itrealvalue, rss, cguest_time; + unsigned long long starttime, blkio; +}; + diff --git a/src/pstree.c b/src/pstree.c new file mode 100644 index 0000000..db57244 --- /dev/null +++ b/src/pstree.c @@ -0,0 +1,1064 @@ +/* + * pstree.c - display process tree + * + * Copyright (C) 1993-2002 Werner Almesberger + * Copyright (C) 2002-2012 Craig Small + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "i18n.h" +#include "comm.h" + +#ifdef WITH_SELINUX +#include +#endif /*WITH_SELINUX */ + +extern const char *__progname; + +#define PROC_BASE "/proc" + +#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) +#define ROOT_PID 0 +#else +#define ROOT_PID 1 +#endif /* __FreeBSD__ */ + +/* UTF-8 defines by Johan Myreen, updated by Ben Winslow */ +#define UTF_V "\342\224\202" /* U+2502, Vertical line drawing char */ +#define UTF_VR "\342\224\234" /* U+251C, Vertical and right */ +#define UTF_H "\342\224\200" /* U+2500, Horizontal */ +#define UTF_UR "\342\224\224" /* U+2514, Up and right */ +#define UTF_HD "\342\224\254" /* U+252C, Horizontal and down */ + +#define VT_BEG "\033(0\017" /* use graphic chars */ +#define VT_END "\033(B" /* back to normal char set */ +#define VT_V "x" /* see UTF definitions above */ +#define VT_VR "t" +#define VT_H "q" +#define VT_UR "m" +#define VT_HD "w" + +typedef struct _proc { + char comm[COMM_LEN + 2 + 1]; /* add another 2 for thread brackets */ + char **argv; /* only used : argv[0] is 1st arg; undef if argc < 1 */ + int argc; /* with -a : number of arguments, -1 if swapped */ + pid_t pid; + pid_t pgid; + uid_t uid; +#ifdef WITH_SELINUX + security_context_t scontext; +#endif /*WITH_SELINUX */ + char flags; + struct _child *children; + struct _proc *parent; + struct _proc *next; +} PROC; + +/* For flags above */ +#define PFLAG_HILIGHT 0x01 +#define PFLAG_THREAD 0x02 + +typedef struct _child { + PROC *child; + struct _child *next; +} CHILD; + +static struct { + const char *empty_2; /* */ + const char *branch_2; /* |- */ + const char *vert_2; /* | */ + const char *last_2; /* `- */ + const char *single_3; /* --- */ + const char *first_3; /* -+- */ +} sym_ascii = { +" ", "|-", "| ", "`-", "---", "-+-"} + +, sym_utf = { +" ", + UTF_VR UTF_H, + UTF_V " ", + UTF_UR UTF_H, UTF_H UTF_H UTF_H, UTF_H UTF_HD UTF_H}, sym_vt100 = { +" ", + VT_BEG VT_VR VT_H VT_END, + VT_BEG VT_V VT_END " ", + VT_BEG VT_UR VT_H VT_END, + VT_BEG VT_H VT_H VT_H VT_END, VT_BEG VT_H VT_HD VT_H VT_END} + +, *sym = &sym_ascii; + +static PROC *list = NULL; + +/* The buffers will be dynamically increased in size as needed. */ +static int capacity = 0; +static int *width = NULL; +static int *more = NULL; + +static int print_args = 0, compact = 1, user_change = 0, pids = 0, pgids = 0, + show_parents = 0, by_pid = 0, trunc = 1, wait_end = 0; +#ifdef WITH_SELINUX +static int show_scontext = 0; +#endif /*WITH_SELINUX */ +static int output_width = 132; +static int cur_x = 1; +static char last_char = 0; +static int dumped = 0; /* used by dump_by_user */ +static int charlen = 0; /* length of character */ + +static void fix_orphans(void); +/* + * Allocates additional buffer space for width and more as needed. + * The first call will allocate the first buffer. + * + * index the index that will be used after the call + * to this function. + */ +static void ensure_buffer_capacity(int index) +{ + if (index >= capacity) { + if (capacity == 0) + capacity = 100; + else + capacity *= 2; + if (!(width = realloc(width, capacity * sizeof(int)))) { + perror("realloc"); + exit(1); + } + if (!(more = realloc(more, capacity * sizeof(int)))) { + perror("realloc"); + exit(1); + } + } +} + +/* + * Frees any buffers allocated by ensure_buffer_capacity. + */ +static void free_buffers() +{ + if (width != NULL) { + free(width); + width = NULL; + } + if (more != NULL) { + free(more); + more = NULL; + } + capacity = 0; +} + +static void out_char(char c) +{ + if (charlen == 0) { /* "new" character */ + if ((c & 0x80) == 0) { + charlen = 1; /* ASCII */ + } else if ((c & 0xe0) == 0xc0) { /* 110.. 2 bytes */ + charlen = 2; + } else if ((c & 0xf0) == 0xe0) { /* 1110.. 3 bytes */ + charlen = 3; + } else if ((c & 0xf8) == 0xf0) { /* 11110.. 4 bytes */ + charlen = 4; + } else { + charlen = 1; + } + cur_x++; /* count first byte of whatever it is only */ + } + charlen--; + if (!trunc || cur_x <= output_width) + putchar(c); + else { + if (trunc && (cur_x == output_width + 1)) + putchar('+'); + } +} + + +static void out_string(const char *str) +{ + while (*str) + out_char(*str++); +} + + +static int out_int(int x) +{ /* non-negative integers only */ + int digits, div; + + digits = 0; + for (div = 1; x / div; div *= 10) + digits++; + if (!digits) + digits = 1; + for (div /= 10; div; div /= 10) + out_char('0' + (x / div) % 10); + return digits; +} + +#ifdef WITH_SELINUX +static void out_scontext(security_context_t scontext) +{ + out_string("`"); + out_string(scontext); + out_string("'"); +} +#endif /*WITH_SELINUX */ + + +static void out_newline(void) +{ + if (last_char && cur_x == output_width) + putchar(last_char); + last_char = 0; + putchar('\n'); + cur_x = 1; +} + + +static PROC *find_proc(pid_t pid) +{ + PROC *walk; + + for (walk = list; walk; walk = walk->next) + if (walk->pid == pid) + return walk; + return NULL; +} + +#ifdef WITH_SELINUX +static PROC *new_proc(const char *comm, pid_t pid, uid_t uid, + security_context_t scontext) +#else /*WITH_SELINUX */ +static PROC *new_proc(const char *comm, pid_t pid, uid_t uid) +#endif /*WITH_SELINUX */ +{ + PROC *new; + + if (!(new = malloc(sizeof(PROC)))) { + perror("malloc"); + exit(1); + } + strncpy(new->comm, comm, COMM_LEN+2); + new->comm[COMM_LEN+1] = '\0'; /* make sure nul terminated*/ + new->pid = pid; + new->uid = uid; + new->flags = 0; + new->argc = 0; + new->argv = NULL; +#ifdef WITH_SELINUX + new->scontext = scontext; +#endif /*WITH_SELINUX */ + new->children = NULL; + new->parent = NULL; + new->next = list; + return list = new; +} + + +static void add_child(PROC * parent, PROC * child) +{ + CHILD *new, **walk; + int cmp; + + if (!(new = malloc(sizeof(CHILD)))) { + perror("malloc"); + exit(1); + } + new->child = child; + for (walk = &parent->children; *walk; walk = &(*walk)->next) + if (by_pid) { + if ((*walk)->child->pid > child->pid) + break; + } else if ((cmp = strcmp((*walk)->child->comm, child->comm)) > 0) { + break; } + else if (!cmp && (*walk)->child->uid > child->uid) + break; + new->next = *walk; + *walk = new; +} + + +static void set_args(PROC * this, const char *args, int size) +{ + char *start; + int i; + + if (!size) { + this->argc = -1; + return; + } + this->argc = 0; + for (i = 0; i < size - 1; i++) + if (!args[i]) + this->argc++; + if (!this->argc) + return; + if (!(this->argv = malloc(sizeof(char *) * this->argc))) { + perror("malloc"); + exit(1); + } + start = strchr(args, 0) + 1; + size -= start - args; + if (!(this->argv[0] = malloc((size_t) size))) { + perror("malloc"); + exit(1); + } + start = memcpy(this->argv[0], start, (size_t) size); + for (i = 1; i < this->argc; i++) + this->argv[i] = start = strchr(start, 0) + 1; +} + +static void +rename_proc(PROC *this, const char *comm, uid_t uid) +{ + PROC *tmp_child, *parent; + CHILD **walk; + + strncpy(this->comm, comm, COMM_LEN+2); + this->comm[COMM_LEN+1] = '\0'; + this->uid = uid; + + /* Re-sort children in parent, now we have a name */ + if (!by_pid && this->parent) { + parent = this->parent; + for (walk = &parent->children; *walk; walk = &(*walk)->next) { + if ( ((*walk)->next != NULL) && strcmp((*walk)->child->comm, (*walk)->next->child->comm) > 0 ) { + tmp_child = (*walk)->child; + (*walk)->child = (*walk)->next->child; + (*walk)->next->child = tmp_child; + } + } + } +} +#ifdef WITH_SELINUX +static void +add_proc(const char *comm, pid_t pid, pid_t ppid, pid_t pgid, uid_t uid, + const char *args, int size, char isthread, security_context_t scontext) +#else /*WITH_SELINUX */ +static void +add_proc(const char *comm, pid_t pid, pid_t ppid, pid_t pgid, uid_t uid, + const char *args, int size, char isthread) +#endif /*WITH_SELINUX */ +{ + PROC *this, *parent; + + if (!(this = find_proc(pid))) +#ifdef WITH_SELINUX + this = new_proc(comm, pid, uid, scontext); +#else /*WITH_SELINUX */ + this = new_proc(comm, pid, uid); +#endif /*WITH_SELINUX */ + else { + rename_proc(this, comm, uid); + } + if (args) + set_args(this, args, size); + if (pid == ppid) + ppid = 0; + this->pgid = pgid; + if (isthread) + this->flags |= PFLAG_THREAD; + if (!(parent = find_proc(ppid))) { +#ifdef WITH_SELINUX + parent = new_proc("?", ppid, 0, scontext); +#else /*WITH_SELINUX */ + parent = new_proc("?", ppid, 0); +#endif + } + if (pid != 0) { + add_child(parent, this); + this->parent = parent; + } +} + + +static int tree_equal(const PROC * a, const PROC * b) +{ + const CHILD *walk_a, *walk_b; + + if (strcmp(a->comm, b->comm)) + return 0; + if (user_change && a->uid != b->uid) + return 0; + for (walk_a = a->children, walk_b = b->children; walk_a && walk_b; + walk_a = walk_a->next, walk_b = walk_b->next) + if (!tree_equal(walk_a->child, walk_b->child)) + return 0; + return !(walk_a || walk_b); +} + +static int +out_args(char *mystr) +{ + char *here; + int strcount=0; + char tmpstr[5]; + + for (here = mystr; *here; here++) { + if (*here == '\\') { + out_string("\\\\"); + strcount += 2; + } else if (*here >= ' ' && *here <= '~') { + out_char(*here); + strcount++; + } else { + sprintf(tmpstr, "\\%03o", (unsigned char) *here); + out_string(tmpstr); + strcount += 4; + } + } /* for */ + return strcount; +} + +static void +dump_tree(PROC * current, int level, int rep, int leaf, int last, + uid_t prev_uid, int closing) +{ + CHILD *walk, *next, **scan; + const struct passwd *pw; + int lvl, i, add, offset, len, swapped, info, count, comm_len, first; + const char *tmp, *here; + + assert(closing >= 0); + if (!current) + return; + if (!leaf) + for (lvl = 0; lvl < level; lvl++) { + for (i = width[lvl] + 1; i; i--) + out_char(' '); + out_string(lvl == + level - + 1 ? last ? sym->last_2 : sym->branch_2 : more[lvl + + 1] ? + sym->vert_2 : sym->empty_2); + } + if (rep < 2) + add = 0; + else { + add = out_int(rep) + 2; + out_string("*["); + } + if ((current->flags & PFLAG_HILIGHT) && (tmp = tgetstr("md", NULL))) + tputs(tmp, 1, putchar); + swapped = info = print_args; + if (swapped && current->argc < 0) + out_char('('); + comm_len = out_args(current->comm); + offset = cur_x; + if (pids) { + out_char(info++ ? ',' : '('); + (void) out_int(current->pid); + } + if (pgids) { + out_char(info++ ? ',' : '('); + (void) out_int(current->pgid); + } + if (user_change && prev_uid != current->uid) { + out_char(info++ ? ',' : '('); + if ((pw = getpwuid(current->uid))) + out_string(pw->pw_name); + else + (void) out_int(current->uid); + } +#ifdef WITH_SELINUX + if (show_scontext) { + out_char(info++ ? ',' : '('); + out_scontext(current->scontext); + } +#endif /*WITH_SELINUX */ + if ((swapped && print_args && current->argc < 0) || (!swapped && info)) + out_char(')'); + if ((current->flags & PFLAG_HILIGHT) && (tmp = tgetstr("me", NULL))) + tputs(tmp, 1, putchar); + if (print_args) { + for (i = 0; i < current->argc; i++) { + if (i < current->argc - 1) /* Space between words but not at the end of last */ + out_char(' '); + len = 0; + for (here = current->argv[i]; *here; here++) + len += *here >= ' ' && *here <= '~' ? 1 : 4; + if (cur_x + len <= + output_width - (i == current->argc - 1 ? 0 : 4) || !trunc) + out_args(current->argv[i]); + else { + out_string("..."); + break; + } + } + } +#ifdef WITH_SELINUX + if (show_scontext || print_args || !current->children) +#else /*WITH_SELINUX */ + if (print_args || !current->children) +#endif /*WITH_SELINUX */ + { + while (closing--) + out_char(']'); + out_newline(); + } + ensure_buffer_capacity(level); + more[level] = !last; + +#ifdef WITH_SELINUX + if (show_scontext || print_args) +#else /*WITH_SELINUX */ + if (print_args) +#endif /*WITH_SELINUX */ + { + width[level] = swapped + (comm_len > 1 ? 0 : -1); + count=0; + first=1; + for (walk = current->children; walk; walk = next) { + next = walk->next; + count=0; + if (compact && (walk->child->flags & PFLAG_THREAD)) { + scan = &walk->next; + while (*scan) { + if (!tree_equal(walk->child, (*scan)->child)) { + scan = &(*scan)->next; + } else { + if (next == *scan) + next = (*scan)->next; + count++; + *scan = (*scan)->next; + } + } + dump_tree(walk->child, level + 1, count + 1, + 0, !next, current->uid, closing+ (count ? 2 : 1)); + //closing + (count ? 1 : 0)); + } else { + dump_tree(walk->child, level + 1, 1, 0, !walk->next, + current->uid, 0); + } + } + return; + } + width[level] = comm_len + cur_x - offset + add; + if (cur_x >= output_width && trunc) { + out_string(sym->first_3); + out_string("+"); + out_newline(); + return; + } + first = 1; + for (walk = current->children; walk; walk = next) { + count = 0; + next = walk->next; + if (compact) { + scan = &walk->next; + while (*scan) + if (!tree_equal(walk->child, (*scan)->child)) + scan = &(*scan)->next; + else { + if (next == *scan) + next = (*scan)->next; + count++; + *scan = (*scan)->next; + } + } + if (first) { + out_string(next ? sym->first_3 : sym->single_3); + first = 0; + } + dump_tree(walk->child, level + 1, count + 1, + walk == current->children, !next, current->uid, + closing + (count ? 1 : 0)); + } +} + + +static void dump_by_user(PROC * current, uid_t uid) +{ + const CHILD *walk; + + if (!current) + return; + + if (current->uid == uid) { + if (dumped) + putchar('\n'); + dump_tree(current, 0, 1, 1, 1, uid, 0); + dumped = 1; + return; + } + for (walk = current->children; walk; walk = walk->next) + dump_by_user(walk->child, uid); +} + +static void trim_tree_by_parent(PROC * current) +{ + if (!current) + return; + + PROC * parent = current->parent; + + if (!parent) + return; + + parent->children = NULL; + add_child(parent, current); + trim_tree_by_parent(parent); +} + + +/* + * read_proc now uses a similar method as procps for finding the process + * name in the /proc filesystem. My thanks to Albert and procps authors. + */ +static void read_proc(void) +{ + DIR *dir; + struct dirent *de; + FILE *file; + struct stat st; + char *path, *comm; + char *buffer; + size_t buffer_size; + char readbuf[BUFSIZ + 1]; + char *tmpptr, *endptr; + pid_t pid, ppid, pgid; + int fd, size; + int empty; +#ifdef WITH_SELINUX + security_context_t scontext = NULL; + int selinux_enabled = is_selinux_enabled() > 0; +#endif /*WITH_SELINUX */ + + if (trunc) + buffer_size = output_width + 1; + else + buffer_size = BUFSIZ + 1; + + if (!print_args) + buffer = NULL; + else if (!(buffer = malloc(buffer_size))) { + perror("malloc"); + exit(1); + } + if (!(dir = opendir(PROC_BASE))) { + perror(PROC_BASE); + exit(1); + } + empty = 1; + while ((de = readdir(dir)) != NULL) { + pid = (pid_t) strtol(de->d_name, &endptr, 10); + if (endptr != de->d_name && endptr[0] == '\0') { + if (! (path = malloc(strlen(PROC_BASE) + strlen(de->d_name) + 10))) + exit(2); + sprintf(path, "%s/%d/stat", PROC_BASE, pid); + if ((file = fopen(path, "r")) != NULL) { + empty = 0; + sprintf(path, "%s/%d", PROC_BASE, pid); +#ifdef WITH_SELINUX + if (selinux_enabled) + if (getpidcon(pid, &scontext) < 0) { + perror(path); + exit(1); + } +#endif /*WITH_SELINUX */ + if (stat(path, &st) < 0) { + perror(path); + exit(1); + } + size = fread(readbuf, 1, BUFSIZ, file); + if (ferror(file) == 0) { + readbuf[size] = 0; + /* commands may have spaces or ) in them. + * so don't trust anything from the ( to the last ) */ + if ((comm = strchr(readbuf, '(')) + && (tmpptr = strrchr(comm, ')'))) { + ++comm; + *tmpptr = 0; + /* We now have readbuf with pid and cmd, and tmpptr+2 + * with the rest */ + /*printf("tmpptr: %s\n", tmpptr+2); */ + if (sscanf(tmpptr + 2, "%*c %d %d", &ppid, &pgid) == 2) { + DIR *taskdir; + struct dirent *dt; + char *taskpath; + char *threadname; + int thread; + + if (! (taskpath = malloc(strlen(path) + 10))) + exit(2); + sprintf(taskpath, "%s/task", path); + + if ((taskdir = opendir(taskpath)) != 0) { + /* if we have this dir, we're on 2.6 */ + if (! (threadname = malloc(COMM_LEN + 2 + 1))) { + exit(2); + } + sprintf(threadname, "{%.*s}", COMM_LEN, comm); + while ((dt = readdir(taskdir)) != NULL) { + if ((thread = atoi(dt->d_name)) != 0) { + if (thread != pid) { +#ifdef WITH_SELINUX + if (print_args) + add_proc(threadname, thread, pid, pgid, st.st_uid, + threadname, strlen (threadname) + 1, 1,scontext); + else + add_proc(threadname, thread, pid, pgid, st.st_uid, + NULL, 0, 1, scontext); +#else /*WITH_SELINUX */ + if (print_args) + add_proc(threadname, thread, pid, pgid, st.st_uid, + threadname, strlen (threadname) + 1, 1); + else + add_proc(threadname, thread, pid, pgid, st.st_uid, + NULL, 0, 1); +#endif /*WITH_SELINUX */ + } + } + } + free(threadname); + (void) closedir(taskdir); + } + free(taskpath); + if (!print_args) +#ifdef WITH_SELINUX + add_proc(comm, pid, ppid, pgid, st.st_uid, NULL, 0, 0, scontext); +#else /*WITH_SELINUX */ + add_proc(comm, pid, ppid, pgid, st.st_uid, NULL, 0, 0); +#endif /*WITH_SELINUX */ + else { + sprintf(path, "%s/%d/cmdline", PROC_BASE, pid); + if ((fd = open(path, O_RDONLY)) < 0) { + perror(path); + exit(1); + } + if ((size = read(fd, buffer, buffer_size)) < 0) { + perror(path); + exit(1); + } + (void) close(fd); + /* If we have read the maximum screen length of args, bring it back by one to stop overflow */ + if (size >= buffer_size) + size--; + if (size) + buffer[size++] = 0; +#ifdef WITH_SELINUX + add_proc(comm, pid, ppid, pgid, st.st_uid, + buffer, size, 0, scontext); +#else /*WITH_SELINUX */ + add_proc(comm, pid, ppid, pgid, st.st_uid, + buffer, size, 0); +#endif /*WITH_SELINUX */ + } + } + } + } + (void) fclose(file); + } + free(path); + } + } + (void) closedir(dir); + fix_orphans(); + if (print_args) + free(buffer); + if (empty) { + fprintf(stderr, _("%s is empty (not mounted ?)\n"), PROC_BASE); + exit(1); + } +} + +static void fix_orphans(void) +{ + /* When using kernel 3.3 with hidepid feature enabled on /proc + * then we need fake root pid and gather all the orphan processes + * that is, processes with no known parent + * As we cannot be sure if it is just the root pid or others missing + * we gather the lot + */ + PROC *root, *walk; + + if (!(root = find_proc(ROOT_PID))) { +#ifdef WITH_SELINUX + root = new_proc("?", ROOT_PID, 0, scontext); +#else /*WITH_SELINUX */ + root = new_proc("?", ROOT_PID, 0); +#endif + } + for (walk = list; walk; walk = walk->next) { + if (walk->pid == 1 || walk->pid == 0) + continue; + if (walk->parent == NULL) { + add_child(root, walk); + walk->parent = root; + } + } +} + +static void usage(void) +{ + fprintf(stderr, + _ + ("Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -u ]\n" + " [ -A | -G | -U ] [ PID | USER ]\n" + " pstree -V\n" "Display a tree of processes.\n\n" + " -a, --arguments show command line arguments\n" + " -A, --ascii use ASCII line drawing characters\n" + " -c, --compact don't compact identical subtrees\n" + " -h, --highlight-all highlight current process and its ancestors\n" + " -H PID,\n" + " --highlight-pid=PID highlight this process and its ancestors\n" + " -g, --show-pgids show process group ids; implies -c\n" + " -G, --vt100 use VT100 line drawing characters\n" + " -l, --long don't truncate long lines\n" + " -n, --numeric-sort sort output by PID\n" + " -p, --show-pids show PIDs; implies -c\n" + " -s, --show-parents show parents of the selected process\n" + " -u, --uid-changes show uid transitions\n" + " -U, --unicode use UTF-8 (Unicode) line drawing characters\n" + " -V, --version display version information\n")); +#ifdef WITH_SELINUX + fprintf(stderr, + _(" -Z show SELinux security contexts\n")); +#endif /*WITH_SELINUX */ + fprintf(stderr, _(" PID start at this PID; default is 1 (init)\n" + " USER show only trees rooted at processes of this user\n\n")); + exit(1); +} + +void print_version() +{ + fprintf(stderr, _("pstree (PSmisc) %s\n"), VERSION); + fprintf(stderr, + _ + ("Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n\n")); + fprintf(stderr, + _("PSmisc comes with ABSOLUTELY NO WARRANTY.\n" + "This is free software, and you are welcome to redistribute it under\n" + "the terms of the GNU General Public License.\n" + "For more information about these matters, see the files named COPYING.\n")); +} + + +int main(int argc, char **argv) +{ + PROC *current; + struct winsize winsz; + const struct passwd *pw; + pid_t pid, highlight; + char termcap_area[1024]; + char *termname, *endptr; + int c, pid_set; + + struct option options[] = { + {"arguments", 0, NULL, 'a'}, + {"ascii", 0, NULL, 'A'}, + {"compact", 0, NULL, 'c'}, + {"vt100", 0, NULL, 'G'}, + {"highlight-all", 0, NULL, 'h'}, + {"highlight-pid", 1, NULL, 'H'}, + {"long", 0, NULL, 'l'}, + {"numeric-sort", 0, NULL, 'n'}, + {"show-pids", 0, NULL, 'p'}, + {"show-pgids", 0, NULL, 'g'}, + {"show-parents", 0, NULL, 's'}, + {"uid-changes", 0, NULL, 'u'}, + {"unicode", 0, NULL, 'U'}, + {"version", 0, NULL, 'V'}, +#ifdef WITH_SELINUX + {"security-context", 0, NULL, 'Z'}, +#endif /*WITH_SELINUX */ + { 0, 0, 0, 0 } + }; + + if (ioctl(1, TIOCGWINSZ, &winsz) >= 0) + if (winsz.ws_col) + output_width = winsz.ws_col; + pid = ROOT_PID; + highlight = 0; + pw = NULL; + +#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); +#endif + + if (!strcmp(__progname, "pstree.x11")) + wait_end = 1; + + /* + * Attempt to figure out a good default symbol set. Will be overriden by + * command-line options, if given. + */ + + if (isatty(1) && !strcmp(nl_langinfo(CODESET), "UTF-8")) { + /* Use UTF-8 symbols if the locale's character set is UTF-8. */ + sym = &sym_utf; + } else if (isatty(1) && (termname = getenv("TERM")) && + (strlen(termname) > 0) && + (setupterm(NULL, 1 /* stdout */ , NULL) == OK) && + (tigetstr("acsc") > 0)) { + /* + * Failing that, if TERM is defined, a non-null value, and the terminal + * has the VT100 graphics charset, use it. + */ + /* problems with VT100 on some terminals, making this ascci + * for now + */ + sym = &sym_ascii; + } else { + /* Otherwise, fall back to ASCII. */ + sym = &sym_ascii; + } + +#ifdef WITH_SELINUX + while ((c = + getopt_long(argc, argv, "aAcGhH:npglsuUVZ", options, + NULL)) != -1) +#else /*WITH_SELINUX */ + while ((c = + getopt_long(argc, argv, "aAcGhH:npglsuUV", options, NULL)) != -1) +#endif /*WITH_SELINUX */ + switch (c) { + case 'a': + print_args = 1; + break; + case 'A': + sym = &sym_ascii; + break; + case 'c': + compact = 0; + break; + case 'G': + sym = &sym_vt100; + break; + case 'h': + if (highlight) + usage(); + if (getenv("TERM") + && tgetent(termcap_area, getenv("TERM")) > 0) + highlight = getpid(); + break; + case 'H': + if (highlight) + usage(); + if (!getenv("TERM")) { + fprintf(stderr, _("TERM is not set\n")); + return 1; + } + if (tgetent(termcap_area, getenv("TERM")) <= 0) { + fprintf(stderr, _("Can't get terminal capabilities\n")); + return 1; + } + if (!(highlight = atoi(optarg))) + usage(); + break; + case 'l': + trunc = 0; + break; + case 'n': + by_pid = 1; + break; + case 'p': + pids = 1; + compact = 0; + break; + case 'g': + pgids = 1; + compact = 0; + break; + case 's': + show_parents = 1; + break; + case 'u': + user_change = 1; + break; + case 'U': + sym = &sym_utf; + break; + case 'V': + print_version(); + return 0; +#ifdef WITH_SELINUX + case 'Z': + if (is_selinux_enabled() > 0) + show_scontext = 1; + else + fprintf(stderr, + "Warning: -Z ignored. Requires anx SELinux enabled kernel\n"); + break; +#endif /*WITH_SELINUX */ + default: + usage(); + } + if (optind == argc - 1) { + if (isdigit(*argv[optind])) { + pid = (pid_t) strtol(argv[optind++], &endptr, 10); + pid_set = 1; + if (endptr[0] != '\0') + usage(); + } else if (!(pw = getpwnam(argv[optind++]))) { + fprintf(stderr, _("No such user name: %s\n"), + argv[optind - 1]); + return 1; + } + } + if (optind != argc) + usage(); + read_proc(); + for (current = find_proc(highlight); current; + current = current->parent) + current->flags |= PFLAG_HILIGHT; + + if(show_parents && pid_set == 1) { + trim_tree_by_parent(find_proc(pid)); + + pid = ROOT_PID; + } + + if (!pw) + dump_tree(find_proc(pid), 0, 1, 1, 1, 0, 0); + else { + dump_by_user(find_proc(ROOT_PID), pw->pw_uid); + if (!dumped) { + fprintf(stderr, _("No processes found.\n")); + return 1; + } + } + free_buffers(); + if (wait_end == 1) { + fprintf(stderr, _("Press return to close\n")); + (void) getchar(); + } + + return 0; +} diff --git a/src/signals.c b/src/signals.c new file mode 100644 index 0000000..d876c72 --- /dev/null +++ b/src/signals.c @@ -0,0 +1,86 @@ +/* + * signals.c - signal name handling + * + * Copyright (C) 1993-2002 Werner Almesberger + * Copyright (C) 2002-2005 Craig Small + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + + + +#include +#include +#include +#include +#include + +#include "i18n.h" +#include "signals.h" + + +typedef struct +{ + int number; + const char *name; +} +SIGNAME; + + +static SIGNAME signals[] = { +#include "signames.h" + {0, NULL} +}; + + +void +list_signals (void) +{ + SIGNAME *walk; + int col; + + col = 0; + for (walk = signals; walk->name; walk++) + { + if (col + strlen (walk->name) + 1 > 80) + { + putchar ('\n'); + col = 0; + } + printf ("%s%s", col ? " " : "", walk->name); + col += strlen (walk->name) + 1; + } + putchar ('\n'); +} + + +int +get_signal (char *name, const char *cmd) +{ + SIGNAME *walk; + + if (isdigit (*name)) + return atoi (name); + if (!strncmp("SIG", name, 3)) + name += 3; + for (walk = signals; walk->name; walk++) + if (!strcmp (walk->name, name)) + break; + if (walk->name) + return walk->number; + fprintf (stderr, _("%s: unknown signal; %s -l lists signals.\n"), name, cmd); + exit (1); +} diff --git a/src/signals.h b/src/signals.h new file mode 100644 index 0000000..b936c46 --- /dev/null +++ b/src/signals.h @@ -0,0 +1,19 @@ +/* signals.h - signal name handling */ + +/* Copyright 1993-1995 Werner Almesberger. See file COPYING for details. */ + + +#ifndef SIGNALS_H +#define SIGNALS_H + +void list_signals (void); + +/* Lists all known signal names on standard output. */ + +int get_signal (char *name, const char *cmd); + +/* Returns the signal number of NAME. If no such signal exists, an error + message is displayed and the program is terminated. CMD is the name of the + application. */ + +#endif diff --git a/src/signames.c b/src/signames.c new file mode 100644 index 0000000..fd8d455 --- /dev/null +++ b/src/signames.c @@ -0,0 +1,5 @@ +/* + * signames.c: Dummy file to better generate signames.h + */ + +#include diff --git a/src/timeout.c b/src/timeout.c new file mode 100644 index 0000000..1fe0354 --- /dev/null +++ b/src/timeout.c @@ -0,0 +1,267 @@ +/* + * timout.c Advanced timeout handling for file system calls + * to avoid deadlocks on remote file shares. + * + * Version: 0.1 07-Sep-2011 Fink + * + * Copyright 2011 Werner Fink, 2011 SUSE LINUX Products GmbH, Germany. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Author: Werner Fink , 2011 + */ + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +#ifndef USE_SOCKETPAIR +# define USE_SOCKETPAIR 1 +#endif + +#ifdef _FEATURES_H +# error Include local config.h before any system header file +#endif +#include "config.h" /* For _FILE_OFFSET_BITS */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#if USE_SOCKETPAIR +# include +# include +# include +# ifndef SHUT_RD +# define SHUT_RD 0 +# endif +# ifndef SHUT_WR +# define SHUT_WR 1 +# endif +# undef pipe +# define pipe(v) (((socketpair(AF_UNIX,SOCK_STREAM,0,v) < 0) || \ + (shutdown((v)[1],SHUT_RD) < 0) || (shutdown((v)[0],SHUT_WR) < 0)) ? -1 : 0) +#endif +#include + +#include "timeout.h" + +#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) +# ifndef destructor +# define destructor __destructor__ +# endif +# ifndef constructor +# define constructor __constructor__ +# endif +# ifndef packed +# define packed __packed__ +# endif +# ifndef inline +# define inline __inline__ +# endif +# ifndef unused +# define unused __unused__ +# endif +# ifndef volatile +# define volatile __volatile__ +# endif +#endif +#ifndef attribute +# define attribute(attr) __attribute__(attr) +#endif + +#if defined __GNUC__ +# undef strcpy +# define strcpy(d,s) __builtin_strcpy((d),(s)) /* Without boundary check please */ +#endif + +/* + * The structure used for communication between the processes + */ +typedef struct _handle { + int errcode; + struct stat argument; + stat_t function; + size_t len; + char path[0]; +} attribute((packed)) handle_t; + +/* + * Using a forked process for doing e.g. stat(2) system call as this + * allows us to send e.g. SIGKILL to this process if it hangs in `D' + * state on a file share due a stalled NFS server. This does not work + * with (p)threads as SIGKILL would kill all threads including main. + */ + +static volatile pid_t active; +static int pipes[4] = {-1, -1, -1, -1}; +static char buf[PATH_MAX + sizeof(handle_t) + 1]; + +static void sigchild(int sig attribute((unused))) +{ + pid_t pid = waitpid(active, NULL, WNOHANG|WUNTRACED); + if (pid <= 0) + return; + if (errno == ECHILD) + return; + active = 0; +} + +static void attribute((constructor)) start(void) +{ + sigset_t sigset, oldset; + struct sigaction act; + ssize_t in; + + if (pipes[1] >= 0) close(pipes[1]); + if (pipes[2] >= 0) close(pipes[2]); + + if (pipe(&pipes[0])) + goto error; + if (pipe(&pipes[2])) + goto error; + + memset(&act, 0, sizeof(act)); + sigemptyset(&act.sa_mask); + act.sa_flags = SA_RESTART; + act.sa_handler = sigchild; + sigaction(SIGCHLD, &act, 0); + + if ((active = fork()) < 0) + goto error; + + if (active) { + close(pipes[0]); + close(pipes[3]); + pipes[0] = pipes[3] = -1; + return; + } + + sigemptyset(&sigset); + sigaddset(&sigset, SIGALRM); + sigprocmask(SIG_BLOCK, &sigset, &oldset); + + act.sa_handler = SIG_DFL; + sigaction(SIGCHLD, &act, 0); + + close(pipes[1]); + close(pipes[2]); + dup2(pipes[0], STDIN_FILENO); + dup2(pipes[3], STDOUT_FILENO); + close(pipes[0]); + close(pipes[3]); + pipes[1] = pipes[2] = -1; + pipes[0] = pipes[3] = -1; + + { + handle_t *restrict handle = (void*)&buf[0]; + + while ((in = read(STDIN_FILENO, handle, sizeof(buf))) > sizeof(handle_t)) { + if (handle->function(handle->path, &handle->argument) < 0) + handle->errcode = errno; + write(STDOUT_FILENO, &handle->errcode, sizeof(handle->errcode)+sizeof(handle->argument)); + memset(handle, 0, sizeof(handle_t)); + } + } + sigprocmask(SIG_SETMASK, &oldset, NULL); + exit(0); +error: + if (pipes[0] >= 0) close(pipes[0]); + if (pipes[1] >= 0) close(pipes[1]); + if (pipes[2] >= 0) close(pipes[2]); + if (pipes[3] >= 0) close(pipes[3]); +} + +static void /* attribute((destructor)) */ stop(void) +{ + if (active && waitpid(active, NULL, WNOHANG|WUNTRACED) == 0) + kill(active, SIGKILL); +} + +static sigjmp_buf jenv; +static void sigjump(int sig attribute((unused))) +{ + siglongjmp(jenv, 1); +} + +/* + * External routine + */ +int timeout(stat_t function, const char *path, struct stat *restrict argument, time_t seconds) +{ + handle_t *restrict handle = (void*)&buf[0]; + struct sigaction alrm_act, pipe_act, new_act; + sigset_t sigset, oldset; + + if (active <= 0) /* Oops, last one failed therefore clear status and restart */ + start(); + + memset(handle, 0, sizeof(handle_t)); + handle->len = strlen(path) + 1; + if (handle->len >= PATH_MAX) { + errno = ENAMETOOLONG; + goto error; + } + handle->errcode = 0; + handle->argument = *argument; + handle->function = function; + strcpy(handle->path, path); + + sigemptyset(&sigset); + sigaddset(&sigset, SIGALRM); + sigaddset(&sigset, SIGPIPE); + sigprocmask(SIG_UNBLOCK, &sigset, &oldset); + + memset(&new_act, 0, sizeof(new_act)); + sigemptyset(&new_act.sa_mask); + new_act.sa_flags = SA_RESETHAND; + + if (sigsetjmp(jenv, 1)) + goto timed; + + new_act.sa_handler = sigjump; + sigaction(SIGALRM, &new_act, &alrm_act); + sigaction(SIGPIPE, &new_act, &pipe_act); + alarm(seconds); + + write(pipes[1], handle, sizeof(handle_t)+handle->len); + read(pipes[2], &handle->errcode, sizeof(handle->errcode)+sizeof(handle->argument)); + + alarm(0); + sigaction(SIGPIPE, &pipe_act, NULL); + sigaction(SIGALRM, &alrm_act, NULL); + + if (handle->errcode) { + errno = handle->errcode; + goto error; + } + + *argument = handle->argument; + sigprocmask(SIG_SETMASK, &oldset, NULL); + + return 0; +timed: + (void) alarm(0); + sigaction(SIGPIPE, &pipe_act, NULL); + sigaction(SIGALRM, &alrm_act, NULL); + sigprocmask(SIG_SETMASK, &oldset, NULL); + stop(); + errno = ETIMEDOUT; +error: + return -1; +} + +/* + * End of timeout.c + */ diff --git a/src/timeout.h b/src/timeout.h new file mode 100644 index 0000000..546c13b --- /dev/null +++ b/src/timeout.h @@ -0,0 +1,36 @@ +/* + * timout.h Advanced timeout handling for file system calls + * to avoid deadlocks on remote file shares. + * + * Version: 0.1 07-Sep-2011 Fink + * + * Copyright 2011 Werner Fink, 2011 SUSE LINUX Products GmbH, Germany. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Author: Werner Fink , 2011 + */ + +#ifndef _TIMEOUT_H +#define _TIMEOUT_H + +#include "config.h" /* For _FILE_OFFSET_BITS */ + +#include +#include +#include +#include + +#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) +# ifndef restrict +# define restrict __restrict__ +# endif +#endif + +typedef int (*stat_t)(const char *, struct stat *restrict); +extern int timeout(stat_t, const char *, struct stat *restrict, time_t); + +#endif diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am new file mode 100644 index 0000000..e9bf8a4 --- /dev/null +++ b/testsuite/Makefile.am @@ -0,0 +1,12 @@ +AUTOMAKE_OPTIONS = dejagnu +export DEJAGNU + +# Programs that are expected across the board. +DEJATOOL = killall + +if WANT_FUSER + DEJATOOL += fuser +endif + + +EXTRA_DIST = diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in new file mode 100644 index 0000000..3d147fb --- /dev/null +++ b/testsuite/Makefile.in @@ -0,0 +1,439 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +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@ +target_triplet = @target@ +@WANT_FUSER_TRUE@am__append_1 = fuser +subdir = testsuite +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +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/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +EXPECT = expect +RUNTEST = runtest +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ +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@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +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@ +SELINUX_LIB = @SELINUX_LIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TERMCAP_LIB = @TERMCAP_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_IPV6 = @WITH_IPV6@ +WITH_SELINUX = @WITH_SELINUX@ +WITH_TIMEOUT_STAT = @WITH_TIMEOUT_STAT@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +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@ +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@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = dejagnu + +# Programs that are expected across the board. +DEJATOOL = killall $(am__append_1) +EXTRA_DIST = +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(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) --gnu testsuite/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu testsuite/Makefile +.PRECIOUS: 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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +check-DEJAGNU: site.exp + srcdir='$(srcdir)'; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \ + if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ + then :; else exit_status=1; fi; \ + done; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi; \ + exit $$exit_status +site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG) + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir "$(srcdir)"' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \ + echo "## Begin content included from file $$f. Do not modify. ##" \ + && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \ + && echo "## End content included from file $$f. ##" \ + || exit 1; \ + done >> site.tmp + @echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp + @if test -f site.exp; then \ + sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \ + fi + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + +distclean-DEJAGNU: + -rm -f site.exp site.bak + -l='$(DEJATOOL)'; for tool in $$l; do \ + rm -f $$tool.sum $$tool.log; \ + done + +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 + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + 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 mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-DEJAGNU distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +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 -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: check-am install-am install-strip + +.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \ + distclean distclean-DEJAGNU distclean-generic 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-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am + +export DEJAGNU + +# 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: