From: jk7744.park Date: Tue, 8 Sep 2015 13:03:10 +0000 (+0900) Subject: tizen 2.3.1 release X-Git-Tag: submit/tizen_2.3.1/20150915.075222^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c90474a3a14cbbd882fb1474f2cb8f937c8ff6b4;p=external%2Fpsmisc.git tizen 2.3.1 release --- diff --git a/ChangeLog b/ChangeLog index 26e6b68..befbfa2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,187 @@ -Changes in ?? -============= +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 diff --git a/INSTALL b/INSTALL index 56b077d..a1e89e1 100644 --- a/INSTALL +++ b/INSTALL @@ -1,16 +1,25 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + 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 ================== -These are generic installation instructions. + 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 @@ -23,9 +32,9 @@ 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 +the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale -cache files.) +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 @@ -35,30 +44,37 @@ 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 only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. +`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: + 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. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. + `./configure' to configure the package for your system. - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. + 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. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the + 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 @@ -67,65 +83,120 @@ The simplest way to compile this package is: 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. + 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=c89 CFLAGS=-O2 LIBS=-lposix + ./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 + 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 must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the +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 `..'. +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. - If you have to use a `make' that does not support the `VPATH' -variable, you have 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' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PREFIX'. + 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 -give `configure' the option `--exec-prefix=PREFIX', the package will -use PREFIX as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. +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. +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'. -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to + 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 @@ -137,14 +208,58 @@ 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 + 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: @@ -152,14 +267,15 @@ type, such as `sun4', or a canonical name which has the form: where SYSTEM can have one of these forms: - OS KERNEL-OS + 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 `--target=TYPE' option to select the type of system they will +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 @@ -170,9 +286,9 @@ 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'. + 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. @@ -181,7 +297,7 @@ 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 + 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 @@ -190,21 +306,29 @@ 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). Here is a another example: +overridden in the site shell script). - /bin/bash ./configure CONFIG_SHELL=/bin/bash +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== -`configure' recognizes the following options to control how it operates. + `configure' recognizes the following options to control how it +operates. `--help' `-h' - Print a summary of the options to `configure', and exit. + 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' @@ -231,6 +355,16 @@ configuration-related scripts to be executed by `/bin/bash'. 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 index fc53aa9..8196886 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = doc src po icons +SUBDIRS = doc src po icons testsuite #EXTRA_DIST = config.rpath ABOUT-NLS mkinstalldirs diff --git a/Makefile.in b/Makefile.in index 5d6c2e6..7512d4e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -14,9 +15,27 @@ @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@ -pkglibdir = $(libdir)/@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 @@ -31,13 +50,14 @@ 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 config/mkinstalldirs + 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 \ @@ -48,9 +68,10 @@ 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 = $(SHELL) $(top_srcdir)/config/mkinstalldirs +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 \ @@ -60,8 +81,16 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-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) @@ -69,12 +98,41 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(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@ @@ -87,11 +145,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ @@ -101,6 +157,7 @@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -128,6 +185,7 @@ 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@ @@ -140,6 +198,7 @@ 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@ @@ -147,7 +206,6 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -189,10 +247,15 @@ 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 +SUBDIRS = doc src po icons testsuite #EXTRA_DIST = config.rpath ABOUT-NLS mkinstalldirs ACLOCAL_AMFLAGS = -I m4 @@ -200,21 +263,21 @@ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -am--refresh: +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 '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + 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 \ @@ -230,21 +293,20 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) + $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @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) - cd $(top_srcdir) && $(AUTOHEADER) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -258,7 +320,7 @@ distclean-hdr: # (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): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -275,7 +337,7 @@ $(RECURSIVE_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ @@ -283,7 +345,7 @@ $(RECURSIVE_TARGETS): fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -309,16 +371,16 @@ $(RECURSIVE_CLEAN_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(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" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -326,14 +388,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(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) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -345,46 +407,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + $(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; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + 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) - tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + $(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) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(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) + test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -400,44 +466,70 @@ distdir: $(DISTFILES) 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + $(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="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + -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) + || 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 -9 -c >$(distdir).tar.bz2 + 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 @@ -463,24 +555,33 @@ dist dist-all: distdir distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + 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) gunzip -c $(distdir).shar.gz | unshar ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) + 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-$$$$/" \ - && cd $(distdir)/_build \ + && 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 \ @@ -501,14 +602,24 @@ distcheck: dist && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + && $(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: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @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)"; \ @@ -539,16 +650,22 @@ install-am: all-am installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + 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" @@ -568,6 +685,8 @@ dvi-am: html: html-recursive +html-am: + info: info-recursive info-am: @@ -576,18 +695,28 @@ 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 @@ -610,23 +739,25 @@ ps-am: uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.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-shar dist-tarZ 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 + 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. diff --git a/README b/README index 2489b05..e9da6fc 100644 --- a/README +++ b/README @@ -6,7 +6,6 @@ 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 - pidof like killall, buts lists PIDs instead of killing processes pstree shows the currently running processes as a tree peekfd shows the data travelling over a file descriptor @@ -17,6 +16,13 @@ They should work with most recent kernels. Man pages are included. 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 diff --git a/aclocal.m4 b/aclocal.m4 index 7f66127..7cd5df2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,8 @@ -# generated automatically by aclocal 1.10 -*- Autoconf -*- +# generated automatically by aclocal 1.11.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. +# 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. @@ -11,27 +12,33 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -m4_if(m4_PACKAGE_VERSION, [2.61],, -[m4_fatal([this file was generated for autoconf 2.61. -You have another version of autoconf. If you want to use that, -you should regenerate the build system entirely.], [63])]) +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 Free Software Foundation, Inc. +# 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.10' +[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.10], [], +m4_if([$1], [1.11.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -45,19 +52,23 @@ 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 AC_INIT_AUTOMAKE. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10])dnl -_AM_AUTOCONF_VERSION(m4_PACKAGE_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 Free Software Foundation, Inc. +# 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/../..'. @@ -105,14 +116,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# 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 8 +# serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -125,6 +136,7 @@ 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='#' @@ -138,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# 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 9 +# 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, @@ -185,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc], # 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. @@ -202,6 +215,16 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 @@ -219,7 +242,17 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 @@ -229,19 +262,23 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -290,65 +327,79 @@ AC_DEFUN([AM_DEP_TRACK], 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 +# 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 3 +#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # 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 10q "$mf" | grep '^#.*generated by automake' > /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" +[{ + # 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 -done +} ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -368,13 +419,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. +# 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 12 +# 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. @@ -391,7 +442,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # 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.60])dnl +[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 @@ -442,8 +493,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP +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. @@ -451,24 +502,37 @@ 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([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 + [_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 + [_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_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 @@ -479,29 +543,40 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC], # 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 - $1 | $1:* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# 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 -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +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. @@ -527,13 +602,13 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# 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 3 +# serial 4 # AM_MAKE_INCLUDE() # ----------------- @@ -542,7 +617,7 @@ AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -552,24 +627,24 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# 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 - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + 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]) @@ -579,14 +654,14 @@ rm -f confinc confmf # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# 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 5 +# serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -603,7 +678,14 @@ AC_SUBST($1)]) AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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 " @@ -613,12 +695,15 @@ else fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# 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'. @@ -641,13 +726,14 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# 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 3 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -655,16 +741,16 @@ AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- @@ -674,14 +760,14 @@ AC_DEFUN([_AM_IF_OPTION], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# 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 4 +# serial 5 # AM_SANITY_CHECK # --------------- @@ -690,16 +776,29 @@ AC_DEFUN([AM_SANITY_CHECK], # 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` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ @@ -724,12 +823,14 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# 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 @@ -752,21 +853,28 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006 Free Software Foundation, Inc. +# 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 outputing VARIABLE = @VARIABLE@ in Makefile.in. +# 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 Free Software Foundation, Inc. +# 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, @@ -788,10 +896,11 @@ AC_DEFUN([_AM_SUBST_NOTMAKE]) # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [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='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [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]) diff --git a/config.h.in b/config.h.in index 9edf2d0..a3d7245 100644 --- a/config.h.in +++ b/config.h.in @@ -85,6 +85,9 @@ /* 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 @@ -138,43 +141,52 @@ /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL -/* Define to 1 if `gpr' is member of `struct pt_regs'. */ +/* 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 member of `struct pt_regs'. */ +/* Define to 1 if `orig_gpr3' is a member of `struct pt_regs'. */ #undef HAVE_STRUCT_PT_REGS_ORIG_GPR3 -/* Define to 1 if `st_rdev' is member of `struct stat'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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 member of `struct user_regs_struct'. */ +/* 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'. @@ -225,6 +237,9 @@ /* 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 @@ -240,6 +255,14 @@ /* 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 diff --git a/config/config.guess b/config/config.guess index 45bee13..d622a44 100755 --- a/config/config.guess +++ b/config/config.guess @@ -1,9 +1,10 @@ #! /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 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2005-04-22' +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 @@ -16,24 +17,24 @@ timestamp='2005-04-22' # 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. +# 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 to . Submit a context -# diff and a properly formatted ChangeLog entry. + +# 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. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# 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,.*/,,'` @@ -53,7 +54,8 @@ 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 +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 @@ -66,11 +68,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -104,7 +106,7 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { 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 ; } ; @@ -123,7 +125,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' +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) @@ -141,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # 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 @@ -158,6 +160,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 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 @@ -166,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -176,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -196,62 +199,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amd64:OpenBSD:*:*) - echo x86_64-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - cats:OpenBSD:*:*) - echo arm-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - luna88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips64-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + 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 0 ;; + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit 0 ;; + 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}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -297,40 +268,46 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # 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'` - exit 0 ;; + # 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 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe - exit 0 ;; + exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit 0 ;; + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + 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 0;; + 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 @@ -338,32 +315,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; + exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 - exit 0 ;; + 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 0 ;; + 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 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + 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 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -372,10 +368,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + 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 @@ -387,10 +383,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + 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 @@ -400,41 +396,41 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # 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 0 ;; + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -458,35 +454,36 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 + $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 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # 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 ] || \ @@ -499,29 +496,29 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + 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 0 ;; # Note that: echo "'`uname -s`'" gives '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 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -529,7 +526,7 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -544,15 +541,19 @@ EOF exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 + 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 0 ;; - *:AIX:*:[45]) + 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 @@ -565,28 +566,28 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -595,52 +596,52 @@ EOF 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" ;; + 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 + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #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); + 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); - } + 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 @@ -648,9 +649,19 @@ EOF esac if [ ${HP_ARCH} = "hppa2.0w" ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + 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 @@ -658,11 +669,11 @@ EOF fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -690,219 +701,266 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + 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 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + 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 0 ;; + 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 0 ;; + 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 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; + 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 0 ;; - i*:MINGW*:*) + exit ;; + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + 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 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; + 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 0 ;; + 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 0 ;; + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - amd64:CYGWIN*:*:*) + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin - exit 0 ;; + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + 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 0 ;; + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + 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 0 ;; + exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - m68*:Linux:*:*) + exit ;; + hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) + exit ;; + i*86:Linux:*:*) + LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif + #ifdef __dietlibc__ + LIBC=dietlibc #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 - ;; - mips64:Linux:*:*) + eval `$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 mips64 - #undef mips64el + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 + 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 0 + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit 0 ;; - 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 ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + 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 @@ -910,115 +968,71 @@ EOF PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; + 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 0 ;; + exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; + 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 0 ;; + 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, + # 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. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + 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 0 ;; + exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; + exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; - i*86:syllable:*:*) + exit ;; + i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; + 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 @@ -1026,15 +1040,16 @@ EOF else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + 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 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /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 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; + exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix - exit 0 ;; + exit ;; M68*:*:R3V[5678]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 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 0 + && { 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 0 ;; + && { 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 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 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1126,73 +1154,94 @@ EOF else echo ns32k-sni-sysv fi - exit 0 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; + 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 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos - exit 0 ;; + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + 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 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + 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 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in - *86) UNAME_PROCESSOR=i686 ;; + 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 0 ;; + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1200,25 +1249,28 @@ EOF UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1229,41 +1281,53 @@ EOF UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; + exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; + exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms && exit 0 ;; - I*) echo ia64-dec-vms && exit 0 ;; - V*) echo vax-dec-vms && exit 0 ;; + 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 0 ;; + 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 @@ -1286,16 +1350,16 @@ main () #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1384,11 +1448,12 @@ main () } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 +$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 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1397,22 +1462,22 @@ then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1423,9 +1488,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/config/config.sub b/config/config.sub index 87a1ee4..6205f84 100755 --- a/config/config.sub +++ b/config/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2005-04-22' +timestamp='2012-04-18' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -20,23 +21,25 @@ timestamp='2005-04-22' # 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. - +# 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. + # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# 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. @@ -70,7 +73,8 @@ 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 +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 @@ -83,11 +87,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +103,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,11 +122,18 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + 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 ] @@ -145,10 +156,13 @@ case $os in -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) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -163,13 +177,17 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -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/'` @@ -186,6 +204,10 @@ case $os in # 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/'` @@ -203,6 +225,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -227,26 +255,36 @@ case $basic_machine in # 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 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | epiphany \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ @@ -255,31 +293,65 @@ case $basic_machine in | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ + | mt \ | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | open8 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | 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 | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ + | 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 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. + 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 @@ -295,32 +367,40 @@ case $basic_machine in # 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-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | 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-* \ - | m32r-* | m32rle-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ @@ -329,27 +409,38 @@ case $basic_machine in | 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-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | 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-* | sparc86x-* | sparclet-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ | tron-* \ - | v850-* | v850e-* | vax-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | 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. @@ -367,7 +458,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -413,6 +504,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -421,10 +516,35 @@ case $basic_machine in 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 @@ -453,8 +573,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16 | cr16-*) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -492,6 +612,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -607,7 +731,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -646,6 +769,14 @@ case $basic_machine in 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 ;; @@ -657,10 +788,17 @@ case $basic_machine in 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 ;; @@ -686,10 +824,21 @@ case $basic_machine in 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 @@ -754,6 +903,12 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -761,9 +916,8 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff ;; os400) basic_machine=powerpc-ibm @@ -785,6 +939,14 @@ case $basic_machine in 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 ;; @@ -794,6 +956,12 @@ case $basic_machine in 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 ;; @@ -823,9 +991,10 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -850,6 +1019,10 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -876,6 +1049,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -887,6 +1064,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -908,6 +1088,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -964,17 +1147,9 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown @@ -1043,6 +1218,9 @@ case $basic_machine in 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 @@ -1051,6 +1229,10 @@ case $basic_machine in basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1089,13 +1271,10 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1139,9 +1318,12 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # 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|'` ;; @@ -1162,26 +1344,31 @@ case $os in # 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* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -*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* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -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* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -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*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1199,7 +1386,7 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) @@ -1220,7 +1407,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1269,7 +1456,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1311,6 +1498,11 @@ case $os in -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; -none) ;; *) @@ -1333,6 +1525,12 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1342,9 +1540,21 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; + 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 @@ -1363,13 +1573,13 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; @@ -1388,10 +1598,13 @@ case $basic_machine in *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) @@ -1496,7 +1709,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) @@ -1559,7 +1772,7 @@ case $basic_machine in esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/config/depcomp b/config/depcomp index ffcd540..25a39e6 100755 --- a/config/depcomp +++ b/config/depcomp @@ -1,9 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2005-02-09.22 +scriptversion=2012-03-27.16; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# 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 @@ -16,9 +17,7 @@ scriptversion=2005-02-09.22 # 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. +# 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 @@ -29,7 +28,7 @@ scriptversion=2005-02-09.22 case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) @@ -41,11 +40,11 @@ as side-effects. Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + 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 outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -58,6 +57,12 @@ EOF ;; 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 @@ -86,12 +91,48 @@ if test "$depmode" = dashXmstdout; then 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. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## 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 @@ -127,20 +168,21 @@ gcc) ## 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. +## 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 ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory + 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. +## 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 '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -172,20 +214,17 @@ sgi) # 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 + # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile + tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile + >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -195,40 +234,51 @@ sgi) 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 + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" + 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 -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - if test $stat -eq 0; then : else - rm -f "$tmpdepfile" + 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 - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. + # 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,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + # '$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 @@ -239,23 +289,26 @@ aix) ;; icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # 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: + # 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 \ : + # 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 : @@ -264,23 +317,74 @@ icc) 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 \'. + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + # '$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'. + # 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. + # 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= @@ -288,13 +392,13 @@ tru64) if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to + # 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 in $dir.libs/$base.o.d and + # 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 @@ -326,14 +430,59 @@ tru64) done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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. @@ -345,13 +494,13 @@ dashmstdout) # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -371,15 +520,14 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # 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. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ + 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" @@ -396,38 +544,46 @@ makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift - cleared=no - for arg in "$@"; do + 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/^.*\././'`" + obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ + # 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" @@ -441,13 +597,13 @@ cpp) # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -467,7 +623,8 @@ cpp) done "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + 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" @@ -478,13 +635,27 @@ cpp) msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. + # 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 @@ -497,16 +668,23 @@ msvisualcpp) ;; esac done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + "$@" -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" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$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 "$@" ;; @@ -525,5 +703,6 @@ exit 0 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/config/install-sh b/config/install-sh index 1a83534..a9244eb 100755 --- a/config/install-sh +++ b/config/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2005-02-02.21 +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 @@ -39,38 +39,68 @@ scriptversion=2005-02-02.21 # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# 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-}" +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi -# put in absolute paths if you don't have them in your path; or use env. vars. +# 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 + } +' -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" +posix_mkdir= + +# Desired mode of installed file. +mode=0755 -chmodcmd="$chmodprog 0755" -chowncmd= chgrpcmd= -stripcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog rmcmd="$rmprog -f" -mvcmd="$mvprog" +stripcmd= + src= dst= dir_arg= -dstarg= +dst_arg= + +copy_on_change=false no_target_directory= -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... @@ -80,81 +110,94 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --c (ignored) --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. ---help display this help and exit. ---version display version info and exit. + --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 CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG " -while test -n "$1"; do +while test $# -ne 0; do case $1 in - -c) shift - continue;; + -c) ;; + + -C) copy_on_change=true;; - -d) dir_arg=true - shift - continue;; + -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; + shift;; --help) echo "$usage"; exit $?;; - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift - shift - continue;; + shift;; - -s) stripcmd=$stripprog - shift - continue;; + -s) stripcmd=$stripprog;; - -t) dstarg=$2 - shift - shift - continue;; + -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 - shift - continue;; + -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done + --) shift break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; esac + shift done -if test -z "$1"; then +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 @@ -164,24 +207,51 @@ if test -z "$1"; then 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 starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src ;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi + 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 '*'. @@ -190,71 +260,194 @@ do exit 1 fi - if test -z "$dstarg"; then + if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac + 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: $dstarg: Is a directory" >&2 + echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi - dst=$dst/`basename "$src"` + 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 - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + 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 - # Make sure that the destination directory exists. + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" + # 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. - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac - pathcomp= + eval "$initialize_posix_glob" - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit + $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 - pathcomp=$pathcomp/ - done + fi fi if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - + { 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 - dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ @@ -262,10 +455,9 @@ do # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -273,51 +465,63 @@ do # 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 "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 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. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } + { 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 -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); 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-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/config/missing b/config/missing index 09edd88..86a8fc3 100755 --- a/config/missing +++ b/config/missing @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2005-02-08.22 +scriptversion=2012-01-06.13; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# 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 @@ -18,9 +18,7 @@ scriptversion=2005-02-08.22 # 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. +# 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 @@ -33,6 +31,8 @@ if test $# -eq 0; then 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. @@ -44,7 +44,7 @@ fi msg="missing on your system" -case "$1" in +case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= @@ -77,15 +77,18 @@ 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 - tar try tar, gnutar, gtar, then tar without non-portable flags 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 $? ;; @@ -103,23 +106,21 @@ Send bug reports to ." 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). -case "$1" in - lex|yacc) +# 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. ;; - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -135,7 +136,7 @@ esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case "$1" in +case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -145,7 +146,7 @@ WARNING: \`$1' is $msg. You should only need it if touch aclocal.m4 ;; - autoconf) + autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -154,7 +155,7 @@ WARNING: \`$1' is $msg. You should only need it if touch configure ;; - autoheader) + autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -164,7 +165,7 @@ WARNING: \`$1' is $msg. You should only need it if test -z "$files" && files="config.h" touch_files= for f in $files; do - case "$f" in + case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -184,7 +185,7 @@ WARNING: \`$1' is $msg. You should only need it if while read f; do touch "$f"; done ;; - autom4te) + autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -192,8 +193,8 @@ WARNING: \`$1' is needed, but is $msg. You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else @@ -207,80 +208,78 @@ WARNING: \`$1' is needed, but is $msg. fi ;; - bison|yacc) + 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 [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if [ ! -f y.tab.h ]; then + if test ! -f y.tab.h; then echo >y.tab.h fi - if [ ! -f y.tab.c ]; then + if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; - lex|flex) + 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 [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if [ ! -f lex.yy.c ]; then + if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; - help2man) + 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 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then + 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 1 + exit $? fi ;; - makeinfo) + 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 @@ -289,52 +288,26 @@ WARNING: \`$1' is $msg. You should only need it if 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 's/.*-o \([^ ]*\).*/\1/p'` + 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` + 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 ;; - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. @@ -353,5 +326,6 @@ exit 0 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/config/mkinstalldirs b/config/mkinstalldirs deleted file mode 100755 index d2d5f21..0000000 --- a/config/mkinstalldirs +++ /dev/null @@ -1,111 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -errstatus=0 -dirmode="" - -usage="\ -Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" 1>&2 - exit 0 - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -case $dirmode in - '') - if mkdir -p -- . 2>/dev/null; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - fi - ;; - *) - if mkdir -m "$dirmode" -p -- . 2>/dev/null; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - fi - ;; -esac - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr="" - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# End: -# mkinstalldirs ends here diff --git a/configure b/configure index 0a6fc99..33e158f 100755 --- a/configure +++ b/configure @@ -1,60 +1,81 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for psmisc 22.6. +# Generated by GNU Autoconf 2.69 for psmisc 22.20. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 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. ## -## --------------------- ## +## -------------------- ## +## 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 +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # 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 ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +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 - PATH_SEPARATOR=: + 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 - rm -f conf$$.sh + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false +# 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 @@ -63,20 +84,19 @@ fi # 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.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -87,32 +107,315 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# 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. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME +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 - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var + 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_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + $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 -done + 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 -# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -126,13 +429,17 @@ 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 -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -147,434 +454,133 @@ echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# 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 -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + 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 test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 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 } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi +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 -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. +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 as_func_ret_success; then - : +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' else - exitcode=1 - echo as_func_ret_success failed. + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi +as_test_x='test -x' +as_executable_p=as_fn_executable_p -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi +# 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'" -test \$exitcode = 0) || { (exit 1); exit 1; } +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS +test -n "$DJDIR" || exec 7<&0 &1 - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac +# 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` -fi +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. 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" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -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 -fi -echo >conf$$.file -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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# 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 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, 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= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='psmisc' -PACKAGE_TARNAME='psmisc' -PACKAGE_VERSION='22.6' -PACKAGE_STRING='psmisc 22.6' -PACKAGE_BUGREPORT='' +# 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. @@ -614,144 +620,171 @@ ac_includes_default="\ #endif" gt_needs= -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -am__isrc -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -CXX -CXXFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CXX -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -CC -CFLAGS -ac_ct_CC -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -LN_S -WITH_SELINUX -SELINUX_LIB -WITH_IPV6 -TERMCAP_LIB -CPP -GREP -EGREP -WANT_PEEKFD_I386_TRUE -WANT_PEEKFD_I386_FALSE -WANT_PEEKFD_X86_64_TRUE -WANT_PEEKFD_X86_64_FALSE -WANT_PEEKFD_PPC_TRUE +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 -USE_NLS -MSGFMT -GMSGFMT -MSGFMT_015 -GMSGFMT_015 -XGETTEXT -XGETTEXT_015 +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 -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor +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 -INTL_MACOSX_LIBS -LIBICONV -LTLIBICONV -INTLLIBS -LIBINTL -LTLIBINTL -POSUB -LIBOBJS -LTLIBOBJS' +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 -CXX -CXXFLAGS +CC +CFLAGS LDFLAGS LIBS CPPFLAGS -CCC -CC -CFLAGS 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 @@ -807,8 +840,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -850,13 +884,20 @@ do datarootdir=$ac_optarg ;; -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; + 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 ;; @@ -869,13 +910,20 @@ do dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; + 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- \ @@ -1066,22 +1114,36 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; + 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_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; + 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. @@ -1101,26 +1163,26 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) 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. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + 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. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1128,23 +1190,36 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + 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 -# Be sure to have absolute directory names. +# 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 - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + 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' @@ -1158,8 +1233,6 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1174,23 +1247,21 @@ 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 .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + 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 -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | + 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 @@ -1217,13 +1288,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + 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" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + 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 @@ -1249,7 +1318,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures psmisc 22.6 to adapt to many kinds of systems. +\`configure' configures psmisc 22.20 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1263,7 +1332,7 @@ Configuration: --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 + -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 @@ -1271,9 +1340,9 @@ Configuration: Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -1283,25 +1352,25 @@ 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] + --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 @@ -1314,21 +1383,26 @@ 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.6:";; + 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 @@ -1344,20 +1418,19 @@ Optional Packages: --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: - CXX C++ compiler command - CXXFLAGS C++ compiler flags + 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 C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory - CC C compiler command - CFLAGS C compiler flags 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 @@ -1365,15 +1438,17 @@ 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" || 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=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + 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/ ;; @@ -1409,7 +1484,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1418,71 +1493,533 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -psmisc configure 22.6 -generated by GNU Autoconf 2.61 +psmisc configure 22.20 +generated by GNU Autoconf 2.69 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +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 -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.6, which was -generated by GNU Autoconf 2.61. Invocation command line was - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF -exec 5>>config.log +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## + 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 -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` + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -/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` +# 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 -_ASUNAME + 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 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done -IFS=$as_save_IFS +} # ac_fn_c_try_link -} >&5 +# 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 -cat >&5 <<_ACEOF + 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 -## ----------- ## -## Core tests. ## -## ----------- ## +# 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 -_ACEOF + 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. @@ -1504,12 +2041,12 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + 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 @@ -1525,13 +2062,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ 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 @@ -1543,11 +2080,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -1556,12 +2091,13 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_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) ;; #( - *) $as_unset $ac_var ;; + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -1580,128 +2116,136 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $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'; { (exit 1); exit 1; }' $ac_signal + 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 explicitly selected file to automatically selected ones. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" + # 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 - set x "$prefix/share/config.site" "$prefix/etc/config.site" + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi -shift -for ac_site_file +for ac_site_file in "$ac_site_file1" "$ac_site_file2" do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} + 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" + . "$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. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + # 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 - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1716,68 +2260,56 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $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) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $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 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # 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=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) 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. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + { $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' @@ -1806,9 +2338,7 @@ for ac_dir in config "$srcdir"/config; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} - { (exit 1); exit 1; }; } + 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, @@ -1820,45 +2350,156 @@ 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. -am__api_version='1.10' +# 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 -# 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. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 - 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 + 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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + 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. @@ -1868,17 +2509,29 @@ case $as_dir/ in # program-specific install script used by HP pwplus--don't use. : else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 + 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 + + done IFS=$as_save_IFS +rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then @@ -1891,8 +2544,8 @@ fi INSTALL=$ac_install_sh fi fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } +{ $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. @@ -1902,21 +2555,34 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +{ $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` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ @@ -1926,11 +2592,8 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } + 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 @@ -1939,54 +2602,164 @@ then # Ok. : else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +{ $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 $. echo might interpret backslashes. +# Double any \ or $. # By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed +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` -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $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" -{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } +{ $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 test "${ac_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + 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_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + 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) '* | \ @@ -1996,11 +2769,12 @@ do esac done 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 @@ -2008,12 +2782,11 @@ fi # 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. - test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi -{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -echo "${ECHO_T}$MKDIR_P" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in @@ -2025,10 +2798,10 @@ for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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. @@ -2038,43 +2811,44 @@ 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi test -n "$AWK" && break done -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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. +# 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;; @@ -2084,12 +2858,12 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SET_MAKE= else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2108,9 +2882,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -2126,7 +2898,7 @@ fi # Define the identity of the package. PACKAGE='psmisc' - VERSION='22.6' + VERSION='22.20' cat >>confdefs.h <<_ACEOF @@ -2154,279 +2926,354 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +# 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}' -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +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 "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } +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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +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_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } +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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" + if test "x$ac_ct_CC" = x; then + CC="" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $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 + CC=$ac_ct_CC fi else - STRIP="$ac_cv_prog_STRIP" -fi - + CC="$ac_cv_prog_CC" fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +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 -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } +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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$CXX" && break + test -n "$CC" && break done fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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 + done IFS=$as_save_IFS fi fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } +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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$ac_ct_CXX" && break + test -n "$ac_ct_CC" && break done - if test "x$ac_ct_CXX" = x; then - CXX="g++" + if test "x$ac_ct_CC" = x; then + CC="" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $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 - CXX=$ac_ct_CXX + CC=$ac_ct_CC fi 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. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" +$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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 +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=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2438,42 +3285,38 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +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. -{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 -echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. +{ $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 | *.o | *.obj ) ;; + *.$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" +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +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=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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, @@ -2483,14 +3326,14 @@ 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 | *.o | *.obj ) + *.$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; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2509,78 +3352,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 +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 -{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } +{ { $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 -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 -echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C++ compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } - -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } -if { (ac_try="$ac_link" +{ $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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +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=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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 @@ -2588,37 +3394,90 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 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 | *.o | *.obj ) ;; + *.$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 - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $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$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } +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 -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +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 -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_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 @@ -2630,51 +3489,46 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +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=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $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 ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +{ { $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 -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } +{ $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 -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2688,54 +3542,34 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +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 @@ -2746,34 +3580,11 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2784,35 +3595,12 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2823,57 +3611,123 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - +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_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" + 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 - CXXFLAGS="-g" + CFLAGS="-g" fi else - if test "$GXX" = yes; then - CXXFLAGS="-O2" + if test "$GCC" = yes; then + CFLAGS="-O2" else - CXXFLAGS= + 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' @@ -2887,50 +3741,51 @@ ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +{ $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 -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# 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 - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac fi -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } +{ $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 +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= @@ -2942,12 +3797,12 @@ fi -depcc="$CXX" am_compiler_list= +depcc="$CC" am_compiler_list= -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 @@ -2955,6 +3810,7 @@ else # 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. @@ -2968,10 +3824,15 @@ else # directory. mkdir sub - am_cv_CXX_dependencies_compiler_type=none + 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 @@ -2989,7 +3850,17 @@ else 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 @@ -2999,19 +3870,23 @@ 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 - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -3022,7 +3897,7 @@ else # 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_CXX_dependencies_compiler_type=$depmode + am_cv_CC_dependencies_compiler_type=$depmode break fi fi @@ -3031,694 +3906,596 @@ else cd .. rm -rf conftest.dir else - am_cv_CXX_dependencies_compiler_type=none + am_cv_CC_dependencies_compiler_type=none fi fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type +{ $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_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= 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 -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 - 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - + 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 -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } + +{ $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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# 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 - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + 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 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + 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 -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } +{ $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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + + as_fn_error $? "Cannot find selinux static library" "$LINENO" 5 fi - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + +# 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 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + 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 -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } + if test "$enable_timeout_stat" = "static"; then + WANT_TIMEOUT_STAT_TRUE= + WANT_TIMEOUT_STAT_FALSE='#' else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + WANT_TIMEOUT_STAT_TRUE='#' + WANT_TIMEOUT_STAT_FALSE= fi - 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 -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + + + +# Check whether --enable-ipv6 was given. +if test "${enable_ipv6+set}" = set; then : + enableval=$enable_ipv6; enable_ipv6=$enableval else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + 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_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +/* 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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + 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 -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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + { $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 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +/* 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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + ac_cv_lib_ncurses_tgetent=no fi - - - test -n "$CC" && break - done +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + { $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 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + 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 -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } +{ $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 - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi + as_fn_error $? "Cannot find tinfo, ncurses or termcap libraries" "$LINENO" 5 +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:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi fi -fi +fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +#include <$ac_hdr> int main () { -#ifndef __GNUC__ - choke me -#endif - +if ((DIR *) 0) +return 0; ; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + eval "$as_ac_Header=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +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 -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +ac_header_dirent=$ac_hdr; break +fi - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes +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 - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - +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 : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +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" -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 -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -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 + +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 -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + # 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 -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_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 -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} +#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 -/* 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]; +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 -/* 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]; + done + ac_cv_prog_CPP=$CPP -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" - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg +fi + CPP=$ac_cv_prog_CPP else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 -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 +# 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_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3726,3222 +4503,511 @@ 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 -depcc="$CC" am_compiler_list= -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # 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 - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # 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 + 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 - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -#AC_PROG_CPP -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - - - -# 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 - -cat >>confdefs.h <<\_ACEOF -#define WITH_SELINUX 1 -_ACEOF - - -{ echo "$as_me:$LINENO: checking for getfilecon in -lselinux" >&5 -echo $ECHO_N "checking for getfilecon in -lselinux... $ECHO_C" >&6; } -if test "${ac_cv_lib_selinux_getfilecon+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lselinux $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -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;; + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_selinux_getfilecon=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_selinux_getfilecon=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_getfilecon" >&5 -echo "${ECHO_T}$ac_cv_lib_selinux_getfilecon" >&6; } -if test $ac_cv_lib_selinux_getfilecon = yes; then - SELINUX_LIB=-lselinux -else - - { { echo "$as_me:$LINENO: error: Cannot find selinux static library" >&5 -echo "$as_me: error: Cannot find selinux static library" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - - -# Check whether --enable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then - enableval=$enable_ipv6; enable_ipv6=$enableval + $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 - enable_ipv6="yes" + ac_cv_path_GREP=$GREP fi -if test "$enable_ipv6" = "yes"; then - -cat >>confdefs.h <<\_ACEOF -#define WITH_IPV6 1 -_ACEOF - 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" -{ echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5 -echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6; } -if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltinfo $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_tinfo_tgetent=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_tinfo_tgetent=no -fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5 -echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6; } -if test $ac_cv_lib_tinfo_tgetent = yes; then - TERMCAP_LIB=-ltinfo +{ $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 - { echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 -echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6; } -if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_ncurses_tgetent=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_ncurses_tgetent=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 -echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6; } -if test $ac_cv_lib_ncurses_tgetent = yes; then - TERMCAP_LIB=-lncurses -else - { echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5 -echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6; } -if test "${ac_cv_lib_termcap_tgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_termcap_tgetent=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_termcap_tgetent=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5 -echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6; } -if test $ac_cv_lib_termcap_tgetent = yes; then - TERMCAP_LIB=-ltermcap -else - { { echo "$as_me:$LINENO: error: Cannot find tinfo, ncurses or termcap libraries" >&5 -echo "$as_me: error: Cannot find tinfo, ncurses or termcap libraries" >&2;} - { (exit 1); exit 1; }; } - -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=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* 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 - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_search_opendir=$ac_res -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* 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 - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_search_opendir=$ac_res -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -echo "${ECHO_T}$ac_cv_search_opendir" >&6; } -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 -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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" - { test -f "$ac_path_GREP" && $as_test_x "$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 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - 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 - ac_count=`expr $ac_count + 1` - 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 - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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" - { test -f "$ac_path_EGREP" && $as_test_x "$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 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - 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 - ac_count=`expr $ac_count + 1` - 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 - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#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 -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_sys_wait_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_sys_wait_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 -echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_WAIT_H 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - - - - - - - - - -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=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* 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. */ - char *t; - 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 saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; 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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for pid_t" >&5 -echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } -if test "${ac_cv_type_pid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef pid_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_pid_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_pid_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } -if test $ac_cv_type_pid_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef size_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for struct stat.st_rdev" >&5 -echo $ECHO_N "checking for struct stat.st_rdev... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_stat_st_rdev+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_rdev) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_rdev=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_rdev) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_rdev=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_rdev=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_rdev" >&5 -echo "${ECHO_T}$ac_cv_member_struct_stat_st_rdev" >&6; } -if test $ac_cv_member_struct_stat_st_rdev = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_RDEV 1 -_ACEOF - - -fi - -{ echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 -echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 -echo "${ECHO_T}$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -cat >>confdefs.h <<\_ACEOF -#define uid_t int -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define gid_t int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.orig_eax" >&5 -echo $ECHO_N "checking for struct user_regs_struct.orig_eax... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_orig_eax+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.orig_eax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_orig_eax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.orig_eax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_orig_eax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_orig_eax=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_orig_eax" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_orig_eax" >&6; } -if test $ac_cv_member_struct_user_regs_struct_orig_eax = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_ORIG_EAX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.eax" >&5 -echo $ECHO_N "checking for struct user_regs_struct.eax... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_eax+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.eax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_eax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.eax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_eax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_eax=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_eax" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_eax" >&6; } -if test $ac_cv_member_struct_user_regs_struct_eax = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_EAX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.ebx" >&5 -echo $ECHO_N "checking for struct user_regs_struct.ebx... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_ebx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.ebx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_ebx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.ebx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_ebx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_ebx=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_ebx" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_ebx" >&6; } -if test $ac_cv_member_struct_user_regs_struct_ebx = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_EBX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.ecx" >&5 -echo $ECHO_N "checking for struct user_regs_struct.ecx... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_ecx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.ecx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_ecx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.ecx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_ecx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_ecx=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_ecx" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_ecx" >&6; } -if test $ac_cv_member_struct_user_regs_struct_ecx = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_ECX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.edx" >&5 -echo $ECHO_N "checking for struct user_regs_struct.edx... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_edx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.edx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_edx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.edx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_edx=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_edx=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_edx" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_edx" >&6; } -if test $ac_cv_member_struct_user_regs_struct_edx = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_EDX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.orig_rax" >&5 -echo $ECHO_N "checking for struct user_regs_struct.orig_rax... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_orig_rax+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.orig_rax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_orig_rax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.orig_rax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_orig_rax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_orig_rax=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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_orig_rax" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_orig_rax" >&6; } -if test $ac_cv_member_struct_user_regs_struct_orig_rax = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_ORIG_RAX 1 -_ACEOF - - -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.rax" >&5 -echo $ECHO_N "checking for struct user_regs_struct.rax... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_rax+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (ac_aggr.rax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.rax) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rax=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_rax=no -fi + 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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + $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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_rax" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_rax" >&6; } -if test $ac_cv_member_struct_user_regs_struct_rax = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_RAX 1 -_ACEOF +{ $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" -fi -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.rdi" >&5 -echo $ECHO_N "checking for struct user_regs_struct.rdi... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_rdi+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +#include +#include +#include int main () { -static struct user_regs_struct ac_aggr; -if (ac_aggr.rdi) -return 0; + ; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rdi=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +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 +#include -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.rdi) -return 0; - ; - return 0; -} _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rdi=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : - ac_cv_member_struct_user_regs_struct_rdi=no +else + ac_cv_header_stdc=no fi +rm -f conftest* -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_rdi" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_rdi" >&6; } -if test $ac_cv_member_struct_user_regs_struct_rdi = yes; then +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 -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_RDI 1 _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 -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.rsi" >&5 -echo $ECHO_N "checking for struct user_regs_struct.rsi... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_rsi+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#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 () { -static struct user_regs_struct ac_aggr; -if (ac_aggr.rsi) -return 0; - ; + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rsi=yes +if ac_fn_c_try_run "$LINENO"; then : + else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +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 +#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 () { -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.rsi) -return 0; + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rsi=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_sys_wait_h=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_user_regs_struct_rsi=no + 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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_rsi" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_rsi" >&6; } -if test $ac_cv_member_struct_user_regs_struct_rsi = yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_USER_REGS_STRUCT_RSI 1 +# 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 -{ echo "$as_me:$LINENO: checking for struct user_regs_struct.rdx" >&5 -echo $ECHO_N "checking for struct user_regs_struct.rdx... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_user_regs_struct_rdx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -static struct user_regs_struct ac_aggr; -if (ac_aggr.rdx) -return 0; + +#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 -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rdx=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +$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 : -int -main () -{ -static struct user_regs_struct ac_aggr; -if (sizeof ac_aggr.rdx) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_user_regs_struct_rdx=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_member_struct_user_regs_struct_rdx=no +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_user_regs_struct_rdx" >&5 -echo "${ECHO_T}$ac_cv_member_struct_user_regs_struct_rdx" >&6; } -if test $ac_cv_member_struct_user_regs_struct_rdx = yes; then +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_USER_REGS_STRUCT_RDX 1 +#define HAVE_STRUCT_STAT_ST_RDEV 1 _ACEOF fi -{ echo "$as_me:$LINENO: checking for struct pt_regs.orig_gpr3" >&5 -echo $ECHO_N "checking for struct pt_regs.orig_gpr3... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_pt_regs_orig_gpr3+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct pt_regs ac_aggr; -if (ac_aggr.orig_gpr3) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_pt_regs_orig_gpr3=yes +{ $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 - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include -int -main () -{ -static struct pt_regs ac_aggr; -if (sizeof ac_aggr.orig_gpr3) -return 0; - ; - return 0; -} _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_pt_regs_orig_gpr3=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_pt_regs_orig_gpr3=no + ac_cv_type_uid_t=no fi +rm -f conftest* -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 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 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_pt_regs_orig_gpr3" >&5 -echo "${ECHO_T}$ac_cv_member_struct_pt_regs_orig_gpr3" >&6; } -if test $ac_cv_member_struct_pt_regs_orig_gpr3 = yes; then +$as_echo "#define uid_t int" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_PT_REGS_ORIG_GPR3 1 -_ACEOF +$as_echo "#define gid_t int" >>confdefs.h fi -{ echo "$as_me:$LINENO: checking for struct pt_regs.gpr" >&5 -echo $ECHO_N "checking for struct pt_regs.gpr... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_pt_regs_gpr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static struct pt_regs ac_aggr; -if (ac_aggr.gpr) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_pt_regs_gpr=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +# 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. */ -#include int main () { -static struct pt_regs ac_aggr; -if (sizeof ac_aggr.gpr) -return 0; + ; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_pt_regs_gpr=yes +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_pt_regs_gpr=no -fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; }; HARDEN_CFLAGS='' -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_pt_regs_gpr" >&5 -echo "${ECHO_T}$ac_cv_member_struct_pt_regs_gpr" >&6; } -if test $ac_cv_member_struct_pt_regs_gpr = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_PT_REGS_GPR 1 -_ACEOF - - -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='#' + CFLAGS="$save_harden_cflags" else - WANT_PEEKFD_X86_64_TRUE='#' - WANT_PEEKFD_X86_64_FALSE= + HARDEN_CFLAGS="" 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 - { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + { $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 +if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi - { echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } @@ -6978,10 +5044,10 @@ rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 [\\/]* | ?:[\\/]*) @@ -7010,19 +5076,19 @@ esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then - { echo "$as_me:$LINENO: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 [\\/]* | ?:[\\/]*) @@ -7034,14 +5100,14 @@ 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" @@ -7050,11 +5116,11 @@ esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then - { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -7101,10 +5167,10 @@ rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 [\\/]* | ?:[\\/]*) @@ -7133,11 +5199,11 @@ esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then - { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi rm -f messages.po @@ -7179,10 +5245,10 @@ rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_MSGMERGE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 [\\/]* | ?:[\\/]*) @@ -7210,11 +5276,11 @@ esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then - { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 -echo "${ECHO_T}$MSGMERGE" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -7240,92 +5306,9 @@ fi eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_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 && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -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 - - -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -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 - - # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then +if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no @@ -7347,8 +5330,8 @@ fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; } + { $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 @@ -7377,14 +5360,14 @@ echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; } ;; esac elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${acl_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +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-:}" @@ -7411,19 +5394,17 @@ fi LD="$acl_cv_path_LD" if test -n "$LD"; then - { echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +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 &1 &5 -echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld - { echo "$as_me:$LINENO: checking for shared library run path origin" >&5 -echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; } -if test "${acl_cv_rpath+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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" \ @@ -7453,8 +5434,8 @@ else acl_cv_rpath=done fi -{ echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 -echo "${ECHO_T}$acl_cv_rpath" >&6; } +{ $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" @@ -7463,7 +5444,7 @@ echo "${ECHO_T}$acl_cv_rpath" >&6; } 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 +if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes @@ -7511,7 +5492,7 @@ fi # Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then +if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -7910,18 +5891,14 @@ fi - { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 -echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; } -if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7932,57 +5909,30 @@ CFPreferencesCopyAppValue(NULL, NULL) return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFPreferencesCopyAppValue=no + gt_cv_func_CFPreferencesCopyAppValue=no fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi -{ echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6; } +{ $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 -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 -_ACEOF +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi - { echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 -echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6; } -if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7993,43 +5943,20 @@ CFLocaleCopyCurrent(); return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - gt_cv_func_CFLocaleCopyCurrent=no + gt_cv_func_CFLocaleCopyCurrent=no fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi -{ echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6; } +{ $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 -cat >>confdefs.h <<\_ACEOF -#define HAVE_CFLOCALECOPYCURRENT 1 -_ACEOF +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= @@ -8074,16 +6001,12 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; gt_expression_test_code= fi - { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 -echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; } -if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code @@ -8098,38 +6021,17 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$gt_func_gnugettext_libc=no" + eval "$gt_func_gnugettext_libc=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } +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 @@ -8162,19 +6064,15 @@ echo "${ECHO_T}$ac_res" >&6; } done - { echo "$as_me:$LINENO: checking for iconv" >&5 -echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } -if test "${am_cv_func_iconv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -8188,42 +6086,15 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -8237,53 +6108,28 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -{ echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 -echo "${ECHO_T}$am_cv_func_iconv" >&6; } +{ $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 -cat >>confdefs.h <<\_ACEOF -#define HAVE_ICONV 1 -_ACEOF +$as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then - { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 -echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } - { echo "$as_me:$LINENO: result: $LIBICONV" >&5 -echo "${ECHO_T}$LIBICONV" >&6; } + { $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= @@ -8311,7 +6157,7 @@ echo "${ECHO_T}$LIBICONV" >&6; } # Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then +if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no @@ -8686,20 +6532,16 @@ fi done fi - { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 -echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; } -if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code @@ -8718,41 +6560,16 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$gt_func_gnugettext_libintl=no" +else + eval "$gt_func_gnugettext_libintl=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code @@ -8771,44 +6588,21 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then +if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi -ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } +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"; } \ @@ -8835,22 +6629,20 @@ echo "${ECHO_T}$ac_res" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF +$as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi - { echo "$as_me:$LINENO: checking whether to use NLS" >&5 -echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; } - { echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6; } + { $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 - { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 -echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } + { $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" @@ -8860,18 +6652,18 @@ echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } else gt_source="included intl directory" fi - { echo "$as_me:$LINENO: result: $gt_source" >&5 -echo "${ECHO_T}$gt_source" >&6; } + { $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 - { echo "$as_me:$LINENO: checking how to link with libintl" >&5 -echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; } - { echo "$as_me:$LINENO: result: $LIBINTL" >&5 -echo "${ECHO_T}$LIBINTL" >&6; } + { $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= @@ -8898,14 +6690,10 @@ echo "${ECHO_T}$LIBINTL" >&6; } fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETTEXT 1 -_ACEOF +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DCGETTEXT 1 -_ACEOF +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi @@ -8922,20 +6710,249 @@ _ACEOF +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 + -{ echo "$as_me:$LINENO: checking whether closedir returns void" >&5 -echo $ECHO_N "checking whether closedir returns void... $ECHO_C" >&6; } -if test "${ac_cv_func_closedir_void+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_closedir_void=yes else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include <$ac_header_dirent> @@ -8951,63 +6968,33 @@ return closedir (opendir (".")) != 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_closedir_void=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_closedir_void=yes + ac_cv_func_closedir_void=yes fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 -echo "${ECHO_T}$ac_cv_func_closedir_void" >&6; } +{ $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 -cat >>confdefs.h <<\_ACEOF -#define CLOSEDIR_VOID 1 -_ACEOF +$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. -{ echo "$as_me:$LINENO: checking for library containing getmntent" >&5 -echo $ECHO_N "checking for library containing getmntent... $ECHO_C" >&6; } -if test "${ac_cv_search_getmntent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -9032,56 +7019,31 @@ for ac_lib in '' sun seq gen; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getmntent=$ac_res -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_getmntent+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_getmntent+:} false; then : break fi done -if test "${ac_cv_search_getmntent+set}" = set; then - : +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 -{ echo "$as_me:$LINENO: result: $ac_cv_search_getmntent" >&5 -echo "${ECHO_T}$ac_cv_search_getmntent" >&6; } +{ $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 +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" ac_cv_func_getmntent=yes -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETMNTENT 1 -_ACEOF +$as_echo "#define HAVE_GETMNTENT 1" >>confdefs.h else ac_cv_func_getmntent=no @@ -9089,23 +7051,19 @@ fi if test $ac_cv_c_compiler_gnu = yes; then - { echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 -echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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 + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no @@ -9114,53 +7072,45 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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 + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6; } +{ $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 -{ echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5 -echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; } -if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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. + /* 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; @@ -9168,39 +7118,15 @@ struct stat sbuf; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_lstat_dereferences_slashed_symlink=no + 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.$ac_ext +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. @@ -9209,8 +7135,8 @@ fi rm -f conftest.sym conftest.file fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 -echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } +{ $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 && @@ -9219,7 +7145,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF -if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" @@ -9228,19 +7154,15 @@ esac fi -{ echo "$as_me:$LINENO: checking whether lstat accepts an empty string" >&5 -echo $ECHO_N "checking whether lstat accepts an empty string... $ECHO_C" >&6; } -if test "${ac_cv_func_lstat_empty_string_bug+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_lstat_empty_string_bug=yes else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -9252,42 +7174,18 @@ struct stat sbuf; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_empty_string_bug=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_lstat_empty_string_bug=yes + 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.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_empty_string_bug" >&5 -echo "${ECHO_T}$ac_cv_func_lstat_empty_string_bug" >&6; } +{ $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 "* ) ;; @@ -9302,29 +7200,25 @@ _ACEOF fi -{ echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5 -echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; } -if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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. + /* 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; @@ -9332,39 +7226,15 @@ struct stat sbuf; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_lstat_dereferences_slashed_symlink=no + 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.$ac_ext +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. @@ -9373,8 +7243,8 @@ fi rm -f conftest.sym conftest.file fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 -echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } +{ $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 && @@ -9383,7 +7253,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF -if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" @@ -9392,159 +7262,27 @@ esac fi - for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +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 `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDLIB_H 1 _ACEOF fi done -{ echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include @@ -9560,52 +7298,24 @@ return ! malloc (0); return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no + 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.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then +{ $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 : -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 1 -_ACEOF +$as_echo "#define HAVE_MALLOC 1" >>confdefs.h else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 0 -_ACEOF + $as_echo "#define HAVE_MALLOC 0" >>confdefs.h case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; @@ -9614,27 +7324,20 @@ _ACEOF esac -cat >>confdefs.h <<\_ACEOF -#define malloc rpl_malloc -_ACEOF +$as_echo "#define malloc rpl_malloc" >>confdefs.h fi - -{ echo "$as_me:$LINENO: checking for working memcmp" >&5 -echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_memcmp_working=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -9669,42 +7372,18 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_memcmp_working=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_memcmp_working=no + ac_cv_func_memcmp_working=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 -echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; } +{ $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" @@ -9712,159 +7391,27 @@ test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in esac - for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +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 `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDLIB_H 1 _ACEOF fi done -{ echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 -echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6; } -if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 + if test "$cross_compiling" = yes; then : ac_cv_func_realloc_0_nonnull=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include @@ -9880,245 +7427,90 @@ return ! realloc (0, 0); return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_realloc_0_nonnull=no + 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.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6; } -if test $ac_cv_func_realloc_0_nonnull = yes; then +{ $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 : -cat >>confdefs.h <<\_ACEOF -#define HAVE_REALLOC 1 -_ACEOF +$as_echo "#define HAVE_REALLOC 1" >>confdefs.h else - cat >>confdefs.h <<\_ACEOF -#define HAVE_REALLOC 0 -_ACEOF + $as_echo "#define HAVE_REALLOC 0" >>confdefs.h case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS realloc.$ac_objext" - ;; -esac - - -cat >>confdefs.h <<\_ACEOF -#define realloc rpl_realloc -_ACEOF - -fi - - - -{ echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5 -echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6; } -if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_stat_empty_string_bug=yes -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - return stat ("", &sbuf) == 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_stat_empty_string_bug=no -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_stat_empty_string_bug=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5 -echo "${ECHO_T}$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 regcomp rpmatch setlocale socket strcasecmp strchr strdup strerror strpbrk strrchr strtoul -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func + *) LIBOBJS="$LIBOBJS realloc.$ac_objext" + ;; +esac -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ -#ifdef __STDC__ -# include -#else -# include -#endif +$as_echo "#define realloc rpl_realloc" >>confdefs.h -#undef $ac_func +fi -/* 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 $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif +{ $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 () { -return $ac_func (); +struct stat sbuf; + return stat ("", &sbuf) == 0; ; return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_stat_empty_string_bug=no else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + 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 - eval "$as_ac_var=no" 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 -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then + +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 `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -10126,16 +7518,16 @@ done # Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then +if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then - { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 @@ -10143,11 +7535,7 @@ else 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -10166,58 +7554,14 @@ main () return 0; } _ACEOF - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext break done @@ -10225,23 +7569,19 @@ rm -f core conftest.err conftest.$ac_objext rm -f conftest.$ac_ext fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } +{ $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 - { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -10260,37 +7600,11 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include @@ -10310,38 +7624,16 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } +{ $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) ;; *) @@ -10350,19 +7642,15 @@ cat >>confdefs.h <<_ACEOF _ACEOF ;; esac -rm -f conftest* +rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then - { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -10381,37 +7669,11 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include @@ -10431,38 +7693,16 @@ main () return 0; } _ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } +{ $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) ;; *) @@ -10471,12 +7711,20 @@ cat >>confdefs.h <<_ACEOF _ACEOF ;; esac -rm -f conftest* +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" +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 @@ -10505,12 +7753,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_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) ;; #( - *) $as_unset $ac_var ;; + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -10518,8 +7767,8 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; (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 \). + # `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" @@ -10541,13 +7790,24 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + 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 - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { $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 @@ -10560,69 +7820,74 @@ 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=`echo "$ac_i" | sed "$ac_script"` + 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. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + 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 - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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 - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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 - { { echo "$as_me:$LINENO: error: conditional \"WANT_PEEKFD_I386\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WANT_PEEKFD_I386\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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 - { { echo "$as_me:$LINENO: error: conditional \"WANT_PEEKFD_X86_64\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WANT_PEEKFD_X86_64\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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 - { { echo "$as_me:$LINENO: error: conditional \"WANT_PEEKFD_PPC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WANT_PEEKFD_PPC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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} +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $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. @@ -10632,59 +7897,79 @@ cat >$CONFIG_STATUS <<_ACEOF debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +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 +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # 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 ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +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 - PATH_SEPARATOR=: + 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 - rm -f conf$$.sh + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false +# 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 @@ -10693,20 +7978,19 @@ fi # 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.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -10717,113 +8001,123 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# 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. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -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 - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # CDPATH. -$as_unset 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_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. 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" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status - # 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 +# 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 @@ -10831,77 +8125,137 @@ 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 +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - 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 -fi -echo >conf$$.file -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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' + 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=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# 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'" @@ -10911,13 +8265,19 @@ 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 -# Save the log message, to keep $[0] and so on meaningful, and to +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.6, which was -generated by GNU Autoconf 2.61. Invocation command line was +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 @@ -10930,7 +8290,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF -cat >>$CONFIG_STATUS <<_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" @@ -10938,22 +8307,25 @@ config_commands="$ac_config_commands" _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$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 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages + --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 + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE Configuration files: $config_files @@ -10964,16 +8336,17 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to the package provider." _ACEOF -cat >>$CONFIG_STATUS <<_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.6 -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +psmisc config.status 22.20 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" -Copyright (C) 2006 Free Software Foundation, Inc. +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." @@ -10981,20 +8354,26 @@ ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. +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 @@ -11007,34 +8386,41 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; + $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 - CONFIG_FILES="$CONFIG_FILES $ac_optarg" + 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 - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + 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 - { echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; + $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. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -11049,27 +8435,29 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL + 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 $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + exec "\$@" fi _ACEOF -cat >>$CONFIG_STATUS <<\_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 - echo "$ac_log" + $as_echo "$ac_log" } >&5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # @@ -11084,7 +8472,7 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets @@ -11098,10 +8486,9 @@ do "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" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -11124,272 +8511,302 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + 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 -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h +# 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 -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -am__isrc!$am__isrc$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -LN_S!$LN_S$ac_delim -WITH_SELINUX!$WITH_SELINUX$ac_delim -SELINUX_LIB!$SELINUX_LIB$ac_delim -WITH_IPV6!$WITH_IPV6$ac_delim -TERMCAP_LIB!$TERMCAP_LIB$ac_delim -CPP!$CPP$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -WANT_PEEKFD_I386_TRUE!$WANT_PEEKFD_I386_TRUE$ac_delim -WANT_PEEKFD_I386_FALSE!$WANT_PEEKFD_I386_FALSE$ac_delim -WANT_PEEKFD_X86_64_TRUE!$WANT_PEEKFD_X86_64_TRUE$ac_delim -WANT_PEEKFD_X86_64_FALSE!$WANT_PEEKFD_X86_64_FALSE$ac_delim -WANT_PEEKFD_PPC_TRUE!$WANT_PEEKFD_PPC_TRUE$ac_delim -WANT_PEEKFD_PPC_FALSE!$WANT_PEEKFD_PPC_FALSE$ac_delim -USE_NLS!$USE_NLS$ac_delim -MSGFMT!$MSGFMT$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` +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 -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof +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 - cat >conf$$subs.sed <<_ACEOF -GMSGFMT!$GMSGFMT$ac_delim -MSGFMT_015!$MSGFMT_015$ac_delim -GMSGFMT_015!$GMSGFMT_015$ac_delim -XGETTEXT!$XGETTEXT$ac_delim -XGETTEXT_015!$XGETTEXT_015$ac_delim -MSGMERGE!$MSGMERGE$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -INTL_MACOSX_LIBS!$INTL_MACOSX_LIBS$ac_delim -LIBICONV!$LIBICONV$ac_delim -LTLIBICONV!$LTLIBICONV$ac_delim -INTLLIBS!$INTLLIBS$ac_delim -LIBINTL!$LIBINTL$ac_delim -LTLIBINTL!$LTLIBINTL$ac_delim -POSUB!$POSUB$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 23; then + 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 - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + 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 = "" -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi +} +{ + 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 +} -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACAWK _ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof +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 $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# 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[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + 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 +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" + -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +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*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -11408,7 +8825,7 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) 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 `:'. @@ -11417,26 +8834,34 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - ac_file_inputs="$ac_file_inputs $ac_f" + 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 "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + 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" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} + { $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 >"$tmp/stdin";; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -11446,42 +8871,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`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 || -echo X"$as_dir" | +$as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -11499,20 +8889,15 @@ echo X"$as_dir" | q } s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + 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=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + 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/ ;; @@ -11557,12 +8942,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix esac _ACEOF -cat >>$CONFIG_STATUS <<\_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= - -case `sed -n '/datarootdir/ { +ac_sed_dataroot=' +/datarootdir/ { p q } @@ -11570,36 +8955,37 @@ case `sed -n '/datarootdir/ { /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' $ac_file_inputs` in +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { $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 +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' ;; + 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 - sed "$ac_vpsub +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t +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 @@ -11610,135 +8996,66 @@ 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 -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out +" +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' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -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 "$tmp/stdin" + { 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 "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac + -) 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 # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then 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. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} + { + $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 "$tmp/config.h" $ac_file + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - echo "/* $configure_input */" - cat "$ac_result" + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. +# 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 - $ac_file | $ac_file:* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for $ac_file" >`$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 || -echo X$ac_file | +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 @@ -11758,30 +9075,40 @@ echo X$ac_file | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} + :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"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # 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 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || + "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 || -echo X"$mf" | +$as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -11799,68 +9126,33 @@ echo X"$mf" | 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" || + 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 || -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 - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`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 || -echo X"$as_dir" | +$as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -11878,16 +9170,12 @@ echo X"$as_dir" | q } s/.*/./; q'` - test -d "$as_dir" && break + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" done -done +} ;; "po-directories":C) for ac_file in $CONFIG_FILES; do @@ -12007,11 +9295,13 @@ done done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS 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. @@ -12031,6 +9321,10 @@ if test "$no_create" != yes; then 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 || { (exit 1); exit 1; } + $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 index 07a9824..9df639d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,19 +1,21 @@ dnl Process this file with autoconf to produce a configure script. -AC_PREREQ(2.61) -AC_INIT([psmisc],[22.6]) +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_CXX AC_PROG_CC -#AC_PROG_CPP 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])], @@ -26,6 +28,26 @@ if test "$enable_selinux" = "yes"; then 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], @@ -58,6 +80,26 @@ 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, @@ -67,9 +109,25 @@ AC_CHECK_MEMBERS([struct user_regs_struct.orig_eax, struct user_regs_struct.rax, struct user_regs_struct.rdi, struct user_regs_struct.rsi, - struct user_regs_struct.rdx], [],[], [#include ]) + 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 && @@ -85,10 +143,12 @@ AM_CONDITIONAL(WANT_PEEKFD_X86_64, AM_CONDITIONAL(WANT_PEEKFD_PPC, test $ac_cv_member_struct_pt_regs_orig_gpr3 = yes && test $ac_cv_member_struct_pt_regs_gpr = yes ) - -dnl Check for language stuff -AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.16.1]) +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 @@ -100,14 +160,21 @@ AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_REALLOC AC_FUNC_STAT -AC_CHECK_FUNCS([atexit getmntent memset nl_langinfo regcomp rpmatch setlocale socket strcasecmp strchr strdup strerror strpbrk strrchr strtoul]) +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]) + po/Makefile.in + testsuite/Makefile]) AC_OUTPUT diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 602ecaf..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,8 +0,0 @@ -README for psmisc -================= - -pidof is not installed in this package as it is part of the sysvinit package, -I intend to work with the sysvinit packager about this. - - - Craig - diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 59b6578..0000000 --- a/debian/changelog +++ /dev/null @@ -1,275 +0,0 @@ -psmisc (22.6-1) unstable; urgency=low - - * New upstream release - * killall.1 mentions you can use -SIGxxx Closes: #431082 - * peekfd works for x86_64 and PPC - * Updated menu entry - - -- Craig Small Sun, 04 Nov 2007 17:42:30 +1100 - -psmisc (22.5-1) unstable; urgency=low - - * New upstream release - - -- Craig Small Mon, 23 Apr 2007 22:14:16 +1000 - -psmisc (22.4-1) unstable; urgency=low - - * New upstream release - * fuser correctly parses remote TCP ports Closes: #397033 - * Removed extra blank lines in fuser Closes: #386564 - * Added peekfd - * killall using a path doesnt check inodes - - -- Craig Small Tue, 17 Apr 2007 22:09:11 +1000 - -psmisc (22.3-1) unstable; urgency=low - - * New upstream release - * Typo fixed in fuser man page Closes: #358880 - * Return code set correctly in silent mode Closes: #361639 - * Updated standards to 3.7.2 - - -- Craig Small Wed, 9 Aug 2006 21:34:49 +1000 - -psmisc (22.2-1) unstable; urgency=low - - * New upstream release - * Finds unix sockets on all arches, Closes: #338868 - * Swedish PO file updated Closes: #348140 - * Moved to debhelper v5 - - -- Craig Small Wed, 15 Mar 2006 10:25:55 +1100 - -psmisc (22.1-1) unstable; urgency=low - - * New upstream release - * Updated German PO file Closes: #313934 - * fuser -s flag works Closes: #344901 - * fixed grep lines in Makefile for i386 arches Closes: #344172 - - -- Craig Small Thu, 12 Jan 2006 19:01:13 +1100 - -psmisc (21.9-1) unstable; urgency=low - - * New upstream release - * Fixed segfault in pstree -a Closes: #338108 - * fuser finds unix sockets. Closes: #338868 - * fixed print_matches to only print unmatched objects if -a is specified - and to output the header for -v Closes: #342765 - * Fixed sv.po Closes: #337528 - - -- Craig Small Fri, 16 Dec 2005 23:16:29 +1100 - -psmisc (21.8-1) unstable; urgency=low - - * New upstream release - * new fuser Closes: #312560 - * pstree checks for a real tty Closes: #326500 - * pstree shows child threads with {commandname} Closes: #230924 - * Added warning about fuser and tcp/udp access Closes: #327813 - * pstree defaults to ASCII not VT100 until problems with terminals - are fixed Closes: #288856 - * fuser doesnt complain if it cannot scan some mount points Closes: #299153 - * menu entry capitalised Closes: #320616 - * upgrade standards to 3.6.2 - * fuser.1 spells behavior correctly Closes: #337190 - * 21.7 not released, fuser return value bug. Closes: #337591 - - -- Craig Small Sat, 5 Nov 2005 15:58:27 +1100 - -psmisc (21.6-1) unstable; urgency=low - - * New upstream release - - killall aborts if it gets unknown flags Closes: #250794 - - Symbolic link created properly for pstree.x11 Closes: #250096 - - Strange mount points handled better Closes: #178972 - - Warning in killall.1 about process changing names Closes: #187941 - - Fixed groff madness with fuser(1) Debian #298199 - * changed rules to permit cross-build Closes: #284589 - * menu entry now uses text for .x11 and vc for plain pstree - - -- Craig Small Fri, 11 Mar 2005 21:53:10 +1100 - -psmisc (21.5-1) unstable; urgency=low - - * New upstream release - - Lines not truncated with UTF-8 Closes: #151523 - - pstree uses ASCII chars with -A Closes: #240973 - - signames.h not distributed in tar Closes: #240986 - - Manual pages explains -SIG is ignored with no -k Closes: #222935 - - -- Craig Small Tue, 25 May 2004 11:23:07 +1000 - -psmisc (21.4-1) unstable; urgency=low - - * New upstream release - - 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 - - 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 and excess blanks removed - Closes: #212795 - - -- Craig Small Fri, 28 Nov 2003 23:06:45 +1100 - -psmisc (21.3-1) unstable; urgency=low - - * New upstream version - - SELinux uses -d flag, so signals starting with S work - Closes: #19370, #163360 - - Long command lines don't segfault Closes: #187241 - * Added most of Torsten SELINUX patch Closes: #192122 - * Menu item doesn have path to x-terminal-emulator Closes: #129232 - - - -- Craig Small Thu, 29 May 2003 10:03:39 +1000 - -psmisc (21.2-1) unstable; urgency=high - - * Fixes serious bug in pstree where pstree -a doesnt have a variable - set - - -- Craig Small Fri, 27 Sep 2002 21:34:23 +1000 - -psmisc (21.1-1) unstable; urgency=low - - * New upstream version - - config.guess and config.sub fixes - - pstree -a extra bracket problem fixed, Closes: #96791 - - LFS support Closes: #129157, #156017 - - fuser -k return means no Closes: #152524 - - UTF8 problem fixed Closes: #140960 - - Works on Hurd (I think, no replies from Hurd folk) Closes: #157064 - - Minor change to killall.1 for less ambiguous Closes: #127851 - - -- Craig Small Thu, 26 Sep 2002 10:12:59 +1000 - -psmisc (21-3) unstable; urgency=low - - * build-depends needs gettext otherwise conflicts happen Closes: - #147131 - - -- Craig Small Fri, 17 May 2002 11:21:41 +1000 - -psmisc (21-2) unstable; urgency=low - - * New config.guess/sub Closes: #147082 - - -- Craig Small Thu, 16 May 2002 08:41:24 +1000 - -psmisc (21-1) unstable; urgency=low - - * New upstream source - - Fixes signal name problem Closes: #131839 - - -- Craig Small Wed, 15 May 2002 22:12:16 +1000 - -psmisc (20.2-2) unstable; urgency=low - - * Makefile did not clean signames.h which gave bad signal numbers - Closes: #116172 - * Changed section field for FTP Cabal Closes: #116168 - - -- Craig Small Fri, 19 Oct 2001 10:42:23 +1000 - -psmisc (20.2-1) unstable; urgency=low - - * New upstream source - - pstree -u fix Closes: #98803 - - fuser -n tcp works for kernel2.4.12 Closes: #115672 - - typo fixed in pidof.1 Closes: #110789 - * Do not install pidof.1 Closes: #107461 - - -- Craig Small Thu, 18 Oct 2001 10:22:20 +1000 - -psmisc (20.1-1) unstable; urgency=low - - * New upstream version - - killall -# works again, Closes: #90742, #92044, #92087 - - -- Craig Small Sat, 31 Mar 2001 21:17:18 +1000 - -psmisc (20-1) unstable; urgency=low - - * New upstream version - - getopt used on command line, Closes #48541 - - Less assumption of cmd line, Closes #53337 - - Doesn't use losetup Closes: #58714 - - - -- Craig Small Mon, 19 Mar 2001 14:21:00 +1100 - -psmisc (19-3) unstable; urgency=low - - * New standards version - * Added menu hints Closes: #80045 - * Changed call from xterm to x-terminal emulator Closes: #59009 - - -- Craig Small Sun, 31 Dec 2000 17:27:30 +1100 - -psmisc (19-2) unstable; urgency=low - - * Group transistions properly handled Closes: #47475 - * pstree no longer truncates Closes: #53943 - * Compile with -O2 to follow standard. - - -- Craig Small Tue, 4 Jan 2000 10:27:33 +1100 - -psmisc (19-1) unstable; urgency=low - - * New upstream Version Closes: #50813 - - -- Craig Small Sun, 5 Dec 1999 19:31:17 +1100 - -psmisc (18-3) unstable; urgency=low - - * Fixes pstree on a X system problem Closes: 45510, 46243 - * Now has all that /usr/share stuff - - -- Craig Small Thu, 30 Sep 1999 10:32:06 +1000 - -psmisc (18-2) unstable; urgency=low - - * Fixed download source Closes: #38436 - - -- Craig Small Fri, 30 Jul 1999 11:29:06 +1000 - -psmisc (18-1) unstable; urgency=low - - * New upstream source - * Doesn't try to print null string for proc names (Bug #23645 ) - - -- Craig Small Mon, 4 Jan 1999 14:11:32 +1100 - -psmisc (17-2) unstable; urgency=low - - * Now with ncurses 4 - * Menu item is now in Apps/System (Bug #27439 ) - * X11 version of pstree now waits for return to be pressed (Bug #24102 #17466 ) - - -- Craig Small Sun, 1 Nov 1998 16:06:13 +1100 - -psmisc (17-1) unstable; urgency=low - - * New upstream version. - - -- Craig Small Wed, 15 Apr 1998 08:50:28 +1000 - -psmisc (16-2) frozen unstable; urgency=low - - * README.debian explains why pidof is not here. (Bug #16981 ) - * Patched fuser so that it works with new kernels (Bug #17064 ) - * CHANGES renamed to changelog (Bug #17290 ) - * Package now replaces procps <<1.2 (Bug #20394 ) - * Fixed description (Bug #20255 ) - -- Craig Small Tue, 17 Mar 1998 09:49:20 +1100 - -psmisc (16-1) unstable; urgency=low - - * Initial Release. - * procps upstream source split this off at version 1.2 - - -- Craig Small Fri, 2 Jan 1998 11:12:00 +1100 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff8..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index 541ea14..0000000 --- a/debian/control +++ /dev/null @@ -1,18 +0,0 @@ -Source: psmisc -Section: admin -Priority: optional -Maintainer: Craig Small -Build-Depends: debhelper (>= 5), libncurses-dev, gettext -Standards-Version: 3.7.2 - -Package: psmisc -Architecture: any -Depends: ${shlibs:Depends} ${misc:Depends} -Replaces: procps (<< 1:1.2) -Description: Utilities that use the proc filesystem - This package contains three little utilities that use the proc FS: - . - `fuser' identifies processes using files (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 - diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 5cb2b16..0000000 --- a/debian/copyright +++ /dev/null @@ -1,15 +0,0 @@ -This package was debianized by Craig Small on -Fri, 2 Jan 1998 11:12:00 +1100. - -It was downloaded from http://psmisc.sourceforge.net/ - -Copyright: - -psmisc (fuser, killall and pstree) program code, documentation and -auxiliary programs are -Copyright 1993,1994,1995,1996,1997,1998,1999,2000,2001 Werner Almesberger -and Craig Small - -This program is licensed under the GPL, on Debian systems you will find a full -text of the GPL at -/usr/share/common-licenses/GPL diff --git a/debian/dirs b/debian/dirs deleted file mode 100644 index 74dbbe3..0000000 --- a/debian/dirs +++ /dev/null @@ -1,3 +0,0 @@ -bin -usr/bin -usr/share/pixmaps diff --git a/debian/docs b/debian/docs deleted file mode 100644 index e845566..0000000 --- a/debian/docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/debian/menu b/debian/menu deleted file mode 100644 index 4e987f0..0000000 --- a/debian/menu +++ /dev/null @@ -1,9 +0,0 @@ -?package(psmisc):needs="text" section="Applications/System/Monitoring" \ - title="Pstree" \ - description="Displays a tree of processes" \ - command="/usr/bin/pstree.x11" \ - icon="/usr/share/pixmaps/pstree16.xpm" -?package(psmisc):needs="vc" section="Applications/System/Monitoring" \ - title="Pstree" \ - description="Displays a tree of processes" \ - command="/usr/bin/pstree" diff --git a/debian/rules b/debian/rules deleted file mode 100755 index e2a99e7..0000000 --- a/debian/rules +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# This file is public domain software, originally written by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) -CONFARGS = --host=$(DEB_HOST_GNU_TYPE) -endif - -build: build-stamp -build-stamp: - dh_testdir - - # Add here commands to compile the package. - ./configure --prefix=/usr --mandir=\$${prefix}/share/man $(CONFARGS) - $(MAKE) - - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - - # Add here commands to clean up after the build process. - [ ! -f Makefile ] || $(MAKE) distclean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/ - $(MAKE) prefix=$(CURDIR)/debian/psmisc/usr install - # fuser is in /bin - mv $(CURDIR)/debian/psmisc/usr/bin/fuser $(CURDIR)/debian/psmisc/bin - (cd $(CURDIR)/debian/psmisc/usr/share/man/man1 && ln -s pstree.1 pstree.x11.1) - install -m 644 icons/pstree16.xpm $(CURDIR)/debian/psmisc/usr/share/pixmaps/ - install -m 644 icons/pstree32.xpm $(CURDIR)/debian/psmisc/usr/share/pixmaps/ - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot -# dh_installdebconf - dh_installdocs -# dh_installexamples - dh_installmenu -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_installinit -# dh_installcron - dh_installman - dh_installinfo - dh_installchangelogs ChangeLog -# dh_link - dh_strip - dh_compress - dh_fixperms -# dh_makeshlibs - dh_installdeb -# dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install diff --git a/doc/Makefile.am b/doc/Makefile.am index 1185f82..541637f 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,11 @@ -man_MANS = fuser.1 killall.1 peekfd.1 pstree.1 +man_MANS = killall.1 peekfd.1 prtstat.1 pstree.1 +EXTRA_MANS = -EXTRA_DIST = $(man_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 index 96ba66e..35224c5 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -14,9 +15,27 @@ @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@ -pkglibdir = $(libdir)/@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 @@ -31,6 +50,9 @@ 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 @@ -41,11 +63,44 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +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 @@ -62,11 +117,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ @@ -76,6 +129,7 @@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -103,6 +157,7 @@ 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@ @@ -115,6 +170,7 @@ 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@ @@ -122,7 +178,6 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -164,11 +219,17 @@ 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 = fuser.1 killall.1 peekfd.1 pstree.1 -EXTRA_DIST = $(man_MANS) +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: @@ -176,14 +237,14 @@ $(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 \ - && exit 0; \ + ( 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'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + 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 \ @@ -201,51 +262,50 @@ $(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 -install-man1: $(man1_MANS) $(man_MANS) +$(am__aclocal_m4_deps): +install-man1: $(man_MANS) @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ + @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 \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ - done + 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='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ - done + @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: @@ -254,6 +314,19 @@ 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)'; \ @@ -269,13 +342,17 @@ distdir: $(DISTFILES) 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -296,16 +373,22 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + 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" @@ -324,6 +407,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -332,18 +417,28 @@ 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 @@ -379,6 +474,7 @@ uninstall-man: uninstall-man1 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 index 8f410b2..e7f0d92 100644 --- a/doc/fuser.1 +++ b/doc/fuser.1 @@ -1,18 +1,28 @@ -.TH FUSER 1 2005-11-05 "Linux" "User Commands" +.\" +.\" 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 [ \-a | \-s | \-c ] +.RB [ \-fuv ] +.RB [ \-a | \-s ] .RB [ \-4 | \-6 ] -.RB [ \-n\ -.IR space\ ] -.RB [ \-k +.RB [ \-c | \-m | \-n +.IR space ] +.RB [ \ \-k .RB [ \-i ] -.RB [ \- \fIsignal -] ] -.RB [ \-muvf ] +.RB [ \-M ] +.RB [ \-w ] +.RB [ \- \fISIGNAL\fR] +] .IR name " ..." .br .B fuser @@ -23,152 +33,251 @@ fuser \- identify processes using files or sockets .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: +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 -.IP \fBc\fP +.PD 0 +.TP +.B c current directory. -.IP \fBe\fP +.TP +.B e executable being run. -.IP \fBf\fP -open file. \fBf\fP is omitted in default display mode. -.IP \fBF\fP -open file for writing. \fBF\fP is omitted in default display mode. -.IP \fBr\fP +.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. -.IP \fBm\fP +.TP +.B m mmap'ed file or shared library. +.PD .RE .LP -\fBfuser\fP 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, \fBfuser\fP returns zero. +.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 -In order to look up processes using TCP and UDP sockets, the corresponding -name space has to be selected with the \fB\-n\fP option. By default -\fBfuser\fP will look in both IPv6 and IPv4 sockets. To change the default, -behavior, use the \fB\-4\fP and \fB\-6\fP 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: - -.RB \fB[\fP\fIlcl_port\fP\fB][\fP,\fB[\fP\fIrmt_host\fP\fB][\fP,\fB[\fIrmt_port\fP\fB]]] - Either symbolic or numeric values can be used for IP addresses and port numbers. .PP -\fBfuser\fP outputs only the PIDs to stdout, everything else is sent to stderr. +.B fuser +outputs only the PIDs to stdout, everything else is sent to stderr. .SH OPTIONS -.IP \fB\-a\fP -Show all files specified on the command line. By default, only files that are -accessed by at least one process are shown. -.IP \fB\-c\fP +.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. -.IP \fB\-f\fP +.TP +\fB\-f\fR Silently ignored, used for POSIX compatibility. -.IP \fB\-k\fP -Kill processes accessing the file. Unless changed with \fB\-\fP\fIsignal\fP, -SIGKILL is sent. An \fBfuser\fP process never kills itself, but may kill -other \fBfuser\fP processes. The effective user ID of the process executing -\fBfuser\fP is set to its real user ID before attempting to kill. -.IP \fB\-i\fP +.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 \fB\-k\fP is not present too. -.IP \fB\-l\fP +silently ignored if +.B \-k +is not present too. +.TP +\fB\-l\fR, \fB\-\-list\-signals\fR List all known signal names. -.IP \fB\-m\fP -\fIname\fP 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. +.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 -\fIname\fP/. to use any file system that might be mounted on that -directory. -.IP \fB\-n\ \fIspace\fP -Select a different name space. The name spaces \fBfile\fP (file names, the -default), \fBudp\fP (local UDP ports), and \fBtcp\fP (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/\fPIspace\fR (e.g. \fI80\fB/\fPtcp\fR ) can be used. -.IP \fB\-s\fP -Silent operation. \fB\-u\fP and \fB\-v\fP are ignored in this mode. -\fB\-a\fP must not be used with \fB\-s\fP. -.IP \fB\-\fIsignal\fP -Use the specified signal instead of SIGKILL when killing processes. Signals -can be specified either by name (e.g. \fB\-HUP\fP) or by number -(e.g. \fB\-1\fP). This option is silently ignored if the \fB\-k\fP option -is not used. -.IP \fB\-u\fP +.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. -.IP \fB\-v\fP -Verbose mode. Processes are shown in a \fBps\fP-like style. The fields PID, -USER and COMMAND are similar to \fBps\fP. ACCESS shows how the process -accesses the file. If the access is by the kernel (e.g. in the case of a -mount point, a swap file, etc.), \fBkernel\fP is shown instead of the PID. -.IP \fB\-V\fP +.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. -.IP \fB\-4\fP -Search only for IPv4 sockets. This option must not be used with the -\fB\-6\fP option and only has an effect with the tcp and udp namespaces. -.IP \fB\-6\fP -Search only for IPv6 sockets. This option must not be used with the \fB\-4\fP +.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\-\fP +.IP \fB\-\fR Reset all options and set the signal back to SIGKILL. .SH FILES -.nf -/proc location of the proc file system -.fi +.TP +/proc +location of the proc file system .SH EXAMPLES -\fBfuser \-km /home\fP kills all processes accessing the file system /home -in any way. -.LP -\fBif fuser \-s /dev/ttyS1; then :; else \fIsomething\fP; fi\fR invokes -\fIsomething\fP if no other process is using /dev/ttyS1. -.LP -\fBfuser telnet/tcp\fP shows all processes at the (local) TELNET port. +.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. +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. +If the same object is specified several times on the command line, some +of those entries may be ignored. .PP -\fBfuser\fP 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 \fBfuser\fP SUID root will avoid problems associated with -partial information, but may be undesirable for security and privacy -reasons. +.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 -\fBudp\fP and \fBtcp\fP name spaces, and UNIX domain sockets can't be -searched with kernels older than 1.3.78. +Installing +.B fuser +SUID root will avoid problems associated with partial information, but +may be undesirable for security and privacy reasons. .PP -\fBudp\fP and \fBtcp\fP currently work with IPv6 and IPv4, but the -address fields can only be IPv4 addresses. +.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 \fB\-v\fP option. +Accesses by the kernel are only shown with the +.B \-v +option. .PP -The \fB\-k\fP option only works on processes. If the user is the kernel, -\fBfuser\fP will print an advice, but take no action beyond that. +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. +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 +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 +as a non-root user. In this case .B fuser will report no access -.SH AUTHORS -.PP -Werner Almesberger .PP -Craig Small +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), " killall "(1), " lsof "(8), " ps "(1), " kill (2). -.\"{{{}}} +.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 index 61951fe..00065e2 100644 --- a/doc/killall.1 +++ b/doc/killall.1 @@ -1,24 +1,36 @@ -.TH KILLALL 1 2007-08-09 "Linux" "User Commands" +.\" +.\" 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 +.RB [ \-Z , \ \-\-context .IR pattern ] -.RB [ \-e , \-\-exact ] -.RB [ \-g , \-\-process\-group ] -.RB [ \-i , \-\-interactive ] -.RB [ \-q , \-\-quiet ] -.RB [ \-r , \-\-regexp ] -.RB [ \-s , \-\-signal +.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 +.RB [ \-u , \ \-\-user .IR user ] -.RB [ \-v , \-\-verbose ] -.RB [ \-w , \-\-wait ] -.RB [ \-I , \-\-ignore-case ] -.RB [ \-V, \-\-version ] +.RB [ \-v , \ \-\-verbose ] +.RB [ \-w , \ \-\-wait ] +.RB [ \-y , \ \-\-younger\-than +.IR TIME ] +.RB [ \-I , \ \-\-ignore-case ] +.RB [ \-V, \ \-\-version ] .RB [ \-\- ] .I name ... .br @@ -26,45 +38,71 @@ killall \- kill processes by name .RB \-l .br .B killall -.RB \-V, \-\-version +.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. +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. \fB\-HUP\fP or \fB-SIGHUP\fP ) -or by number (e.g. \fB\-1\fP) or by option \fB-s\fP. +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 \fB-r\fP) -and contains a slash (\fB/\fP), processes executing that -particular file will be selected for killing, independent of their name. +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 -\fBkillall\fP 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. \fBkillall\fP returns -non-zero otherwise. +.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 \fBkillall\fP process never kills itself (but may kill other \fBkillall\fP +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, \fBkillall\fP will kill everything that matches within -the first 15 characters. With \fB\-e\fP, such entries are skipped. -\fBkillall\fP prints a message for each skipped entry -if \fB\-v\fP is specified in addition to \fB\-e\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. +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" @@ -72,42 +110,63 @@ 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. +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. \fBkillall\fP checks once per second if -any of the killed processes still exist and only returns if none are left. -Note that \fBkillall\fP may wait forever if the signal was ignored, had no -effect, or if the process stays in zombie state. +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. +(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 -.nf -/proc location of the proc file system -.fi +.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 \fBkillall\fP \fIname\fP may not have the desired -effect on non-Linux systems, especially when done by a privileged -user. +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 -\fBkillall \-w\fP doesn't detect if a process disappears and is replaced by -a new process with the same PID between scans. +If processes change their name, +.B killall +may not be able to match them correctly. .PP -If processes change their name, \fBkillall\fP may not be able to match -them correctly. -.SH AUTHORS -Werner Almesberger wrote the original version -of psmisc. Since version 20 Craig Small -can be blamed. +.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), " fuser "(1), " pgrep "(1), " pidof "(1), " pkill "(1), " -.BR ps "(1), " kill (2). -.\"{{{}}} +.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 index eaaed1e..a1dbddf 100644 --- a/doc/peekfd.1 +++ b/doc/peekfd.1 @@ -1,7 +1,12 @@ -.\" Process this file with -.\" groff -man -Tascii foo.1 .\" -.TH PEEKFD 1 "APRIL 2007" Linux "User Commands" +.\" 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 @@ -18,18 +23,20 @@ peekfd \- peek at file descriptors of running processes .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. +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. +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. +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 @@ -37,19 +44,22 @@ 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. +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: - -.B -Error attaching to pid ... -.RS -An unknown error occured while attempted to attach to a process.. you may need to be root. +.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. +Probably lots. Don't be surprised if the process you are monitoring +dies. .SH AUTHOR -Trent Waddington +.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 index c7b122c..fea80b6 100644 --- a/doc/pstree.1 +++ b/doc/pstree.1 @@ -1,31 +1,47 @@ -.TH PSTREE 1 2004-11-09 "Linux" "User Commands" +.\" +.\" 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 ] -.RB [ \-c ] -.RB [ \-h | \-H \fIpid\fB ] -.RB [ \-l ] -.RB [ \-n ] -.RB [ \-p ] -.RB [ \-u ] -.RB [ \-Z ] -.RB [ \-A | \-G | \-U ] -.RB [ \fIpid\fB | \fIuser\fB] +.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 +.RB \-V , \ \-\-version .ad b .SH DESCRIPTION .B pstree -shows running processes as a tree. The tree is rooted at either -\fIpid\fP or \fBinit\fP if \fIpid\fP is omitted. If a user name is specified, -all process trees rooted at processes owned by that user are shown. +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 -\fBpstree\fP visually merges identical branches by putting them in square -brackets and prefixing them with the repetition count, e.g. +.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 @@ -42,67 +58,98 @@ becomes .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. +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 \fBpstree\fR is called as \fBpstree.x11\fR 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 \fBpstree\fR is run in a xterminal. +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. \fB\-a\fP implicitly disables compaction. +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. +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. +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 \fB\-h\fP, but highlight the specified process instead. Unlike with -\fB\-h\fP, \fBpstree\fP fails when using \fB\-H\fP if highlighting is not +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. +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.) +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. \fB\-p\fP implicitly disables compaction. +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. +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 \fBecho \-e '\\033%8'\fP and left -with \fBecho \-e '\\033%@'\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. +(SELinux) Show security context for each process. This flag will only +work if pstree is compilied with SELinux support. .SH FILES -.nf -/proc location of the proc file system -.fi -.SH AUTHORS -Werner Almesberger -Craig Small +.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), " top (1). +.BR ps (1), +.BR top (1). .\"{{{}}} diff --git a/icons/Makefile.in b/icons/Makefile.in index 7180ea4..6999f91 100644 --- a/icons/Makefile.in +++ b/icons/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -14,9 +15,27 @@ @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@ -pkglibdir = $(libdir)/@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 @@ -31,6 +50,7 @@ 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 @@ -41,11 +61,17 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +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@ @@ -58,11 +84,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ @@ -72,6 +96,7 @@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -99,6 +124,7 @@ 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@ @@ -111,6 +137,7 @@ 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@ @@ -118,7 +145,6 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -160,7 +186,12 @@ 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 @@ -171,14 +202,14 @@ $(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 \ - && exit 0; \ + ( 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'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu icons/Makefile + 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 \ @@ -196,6 +227,7 @@ $(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: @@ -219,13 +251,17 @@ distdir: $(DISTFILES) 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -243,16 +279,22 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + 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" @@ -271,6 +313,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -279,18 +323,28 @@ 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 @@ -323,6 +377,7 @@ uninstall-am: 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/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 index b8660e7..4953ca5 100644 --- a/packaging/psmisc.spec +++ b/packaging/psmisc.spec @@ -1,15 +1,21 @@ -Name: psmisc -Version: 22.6 -Release: 1 -License: BSD/GPLv2+ -Summary: Utilities for managing processes on your system -Url: http://psmisc.sourceforge.net -Group: Applications/System -Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz - -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: pkgconfig(ncurses) +Name: psmisc +Version: 22.20 +Release: 2 +License: GPL-2.0+ +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 @@ -23,26 +29,44 @@ of processes that are using specified files or filesystems. %setup -q %build -%configure --prefix=/usr +cp %{SOURCE1001} . +%configure \ + --prefix=%{_prefix} \ + --disable-nls make %{?_smp_mflags} %install -%make_install +make install DESTDIR="$RPM_BUILD_ROOT" -mkdir -p %{buildroot}/bin -mv %{buildroot}%{_bindir}/fuser %{buildroot}/bin/ -mkdir -p %{buildroot}/usr/share/pixmaps/ -install -m 644 icons/pstree16.xpm %{buildroot}/usr/share/pixmaps/ -install -m 644 icons/pstree32.xpm %{buildroot}/usr/share/pixmaps/ +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 -%remove_docs - -%files -/bin/fuser +%files +%manifest %{name}.manifest +%{_datadir}/license/%{name} +/sbin/fuser %{_bindir}/killall -%{_bindir}/oldfuser %{_bindir}/pstree %{_bindir}/pstree.x11 -%{_prefix}/share/locale/*/LC_MESSAGES/* -%{_prefix}/share/pixmaps/pstree*.xpm +%{_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/LINGUAS b/po/LINGUAS index 1c5cc6b..c33047a 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,2 +1,2 @@ # Enabled languages -bg ca de eu fi fr hu it ja nb nl pl pt ru ro sv vi zh_CN +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/POTFILES.in b/po/POTFILES.in index c437b71..bec4ab5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,5 +1,7 @@ -src/killall.c 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/bg.gmo b/po/bg.gmo index 57534a7..4dcdc46 100644 Binary files a/po/bg.gmo and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po index 53c1b77..69b1922 100644 --- a/po/bg.po +++ b/po/bg.po @@ -9,193 +9,39 @@ msgid "" msgstr "" "Project-Id-Version: psmisc 22.2pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Да се убие ли %s(%s%d) ? (д/Н) " - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Да се убие ли %s(%s%d) ? (д/Н) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "" -"Въз основа на състоянието на процеса не може да се установи потребителят " -"собственик\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Неправилен регулярен израз: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "пропуска се частичнотото съвпадение %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) се убива със сигнал %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: никой процес не е убит\n" - -#: src/killall.c:497 -#, c-format 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" - -#: src/killall.c:511 -#, c-format -msgid "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" -msgstr "" -"Използване: killall [-Z КОНТЕКСТ] [-u ПОТРЕБ] [ -eIgiqrvw ] [ -СИГНАЛ ] " -"ИМЕ...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Използвване: killall [ОПЦИЯ]... [--] ИМЕ...\n" - -#: src/killall.c:517 -#, 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" -" -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:533 -#, 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:554 src/fuser.c:122 src/pstree.c:780 -#, c-format -msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" -"\n" -msgstr "" -"Copyright © 1993-2005 Werner Almesberger и Craig Small\n" -"\n" - -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Не може да бъде намерен потребител с име %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Максималният брой имена е %d\n" - -# Мисля, че става въпрос за /proc (Антон Зиновиев) -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s е празна (не е монтирана?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" +"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 display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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" @@ -226,154 +72,307 @@ msgstr "" "[отдалечен_порт]]]\n" "\n" -#: src/fuser.c:109 +#: src/fuser.c:150 #, c-format msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -#: src/fuser.c:113 +#: src/fuser.c:153 #, c-format msgid "" -" - reset options\n" +" - reset options\n" "\n" " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" "\n" msgstr "" -#: src/fuser.c:120 +#: src/fuser.c:160 #, c-format msgid "fuser (PSmisc) %s\n" msgstr "fuser (PSmisc) %s\n" -#: src/fuser.c:147 +#: 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:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Не може да се достигне мястото на монтиране %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "Не може да се достигне %s: %s\n" -#: src/fuser.c:476 +#: src/fuser.c:618 #, c-format msgid "Cannot resolve local port %s: %s\n" msgstr "Не може да се определи локалният порт %s: %s\n" -#: src/fuser.c:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "Непознат вид адрес на локалния порт %d (unknown local port AF)\n" -#: src/fuser.c:553 +#: src/fuser.c:724 #, c-format msgid "Cannot open protocol file \"%s\": %s\n" msgstr "Не може да се отвори файлът за протокол „%s“: %s\n" -#: src/fuser.c:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "Неправилен вид имена" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" msgstr "При опцията за файлова система може да се посочват само файлове" -#: src/fuser.c:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Не е зададена спецификация на процес" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Не може да използвате едновременно опциите -m и -c" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." msgstr "опцията -a не може да се използва едновременно с -q" -#: src/fuser.c:856 +#: 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:901 +#: src/fuser.c:1246 #, fuzzy, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "" "\n" "%*s ПОТРЕБИТЕЛ Пот№ ДОСТЪП КОМАНДА\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(неизвест)" -#: src/fuser.c:1019 +#: src/fuser.c:1415 src/fuser.c:1454 #, c-format msgid "Cannot stat file %s: %s\n" msgstr "Файлът %s не може да се достигне: %s\n" -#: src/fuser.c:1113 +#: src/fuser.c:1540 #, c-format msgid "Cannot open /proc/net/unix: %s\n" msgstr "Не може да се отвори /proc/net/unix: %s\n" -#: src/fuser.c:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Не може да се отвори /etc/mtab: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "Да се убие ли процесът %d? (д/Н) " -#: src/fuser.c:1222 +#: src/fuser.c:1652 #, c-format msgid "Could not kill process %d: %s\n" msgstr "Процесът %d не може да бъде убит: %s\n" -#: src/fuser.c:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "Не може да се отвори мрежово гнездо.\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" msgstr "Не може да бъде намерен номерът на устройството на гнездото.\n" -#: src/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, fuzzy, c-format msgid "peekfd (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -387,31 +386,168 @@ msgid "" " Press CTRL-C to end output.\n" msgstr "" -#: src/pstree.c:374 +#: src/prtstat.c:54 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Вътрешна грешка: стойността на MAX_DEPTH не е достатъчно голяма.\n" +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/pstree.c:750 +#: 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 ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -432,48 +568,57 @@ msgstr "" " -U използва псевдографичните знаци на UTF-8 (Уникод)\n" " -V извежда информация за версията на pstree\n" -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" msgstr " -Z показва контекста на сигурност за SELinux\n" -#: src/pstree.c:771 -#, c-format +#: 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "Не може да се определят възможностите на терминала\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Няма такъв потребител: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Не е намерен нито един процес.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Натиснете Return, за да се завърши\n" @@ -483,5 +628,36 @@ msgstr "Натиснете Return, за да се завърши\n" 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/ca.gmo b/po/ca.gmo index ec626cd..e11a404 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index 4b27edd..4a550a8 100644 --- a/po/ca.po +++ b/po/ca.po @@ -7,83 +7,263 @@ msgid "" msgstr "" "Project-Id-Version: psmisc 21.6cvs\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 +#: 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:77 +#: 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:121 +#: src/killall.c:211 #, c-format -msgid "Cannot get UID from process status\n" +msgid "killall: Cannot get UID from process status\n" msgstr "" -#: src/killall.c:147 src/killall.c:682 +#: src/killall.c:237 #, c-format -msgid "Bad regular expression: %s\n" +msgid "killall: Bad regular expression: %s\n" msgstr "" -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" +#: 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:445 +#: 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:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: no s'ha matat cap procés\n" - -#: src/killall.c:497 +#: src/killall.c:576 #, fuzzy, c-format -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" +msgid "%s: no process found\n" +msgstr "%s: no s'ha matat cap procés\n" -#: src/killall.c:511 +#: 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:514 +#: src/killall.c:618 #, fuzzy, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" msgstr "Forma d'ús: killall [ OPCIONS ] [ -- ] nom ...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, fuzzy, c-format msgid "" " killall -l, --list\n" @@ -92,6 +272,8 @@ msgid "" " -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" @@ -117,7 +299,7 @@ msgstr "" " -w,--wait espera fins que el procés mori\n" "\n" -#: src/killall.c:533 +#: src/killall.c:639 #, fuzzy, c-format msgid "" " -Z,--context REGEXP kill only process(es) having context\n" @@ -128,279 +310,231 @@ msgstr "" " (-s, -c són mútuament excloents i han de precedir altres arguments)\n" "\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, fuzzy, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"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:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" 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/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" msgstr "" -#: src/killall.c:715 +#: src/killall.c:798 #, c-format -msgid "Maximum number of names is %d\n" -msgstr "El nombre màxim de noms és %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s és buit (no s'ha muntat?)\n" +msgid "Bad regular expression: %s\n" +msgstr "" -#: src/fuser.c:89 +#: src/killall.c:830 #, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V 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" +msgid "killall: Maximum number of names is %d\n" +msgstr "El nombre màxim de noms és %d\n" -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +#: 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/fuser.c:113 +#: src/peekfd.c:96 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +msgid "Error attaching to pid %i\n" msgstr "" -#: src/fuser.c:120 +#: src/peekfd.c:104 #, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 -#, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" -#: src/fuser.c:283 +#: src/peekfd.c:106 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" -#: src/fuser.c:316 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat mount point %s: %s\n" +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/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/prtstat.c:54 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 -#, c-format -msgid "Cannot resolve local port %s: %s\n" -msgstr "" +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" -#: src/fuser.c:492 -#, c-format -msgid "Unknown local port AF %d\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/fuser.c:553 -#, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +#: src/prtstat.c:78 +msgid "running" msgstr "" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." +#: src/prtstat.c:80 +msgid "sleeping" msgstr "" -#: src/fuser.c:755 -msgid "Invalid namespace name" +#: src/prtstat.c:82 +msgid "disk sleep" msgstr "" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/prtstat.c:84 +msgid "zombie" msgstr "" -#: src/fuser.c:840 -msgid "No process specification given" +#: src/prtstat.c:86 +msgid "traced" msgstr "" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" +#: src/prtstat.c:88 +msgid "paging" msgstr "" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." +#: src/prtstat.c:90 +msgid "unknown" msgstr "" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" msgstr "" -#: src/fuser.c:901 -#, fuzzy, c-format -msgid "%*s USER PID ACCESS COMMAND\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" -"%*s USUARI PID ACCÉS ORDRE\n" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" msgstr "" -#: src/fuser.c:1019 +#: src/prtstat.c:175 #, c-format -msgid "Cannot stat file %s: %s\n" +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" msgstr "" -#: src/fuser.c:1113 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:189 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:199 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Voleu matar el procés %d? (s/N)" +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" -#: src/fuser.c:1222 -#, c-format -msgid "Could not kill process %d: %s\n" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" msgstr "" -#: src/fuser.c:1237 +#: src/prtstat.c:226 #, c-format -msgid "Cannot open a network socket.\n" +msgid "Process with pid %d does not exist.\n" msgstr "" -#: src/fuser.c:1241 -#, 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/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" +msgid "Unable to open stat file for pid %d (%s)\n" msgstr "" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" +#: src/prtstat.c:308 +#, fuzzy +msgid "Invalid option" +msgstr "%s/%s: especificació no vàlida\n" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." msgstr "" -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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" +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" msgstr "" -#: src/pstree.c:374 -#, fuzzy, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "MAX_DEPTH no és prou gran.\n" +#: 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:750 +#: src/pstree.c:830 #, fuzzy, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -418,18 +552,18 @@ msgstr "" " -p mostra els PID; implica -c\n" " -u mostra transicions de uid\n" -#: src/pstree.c:768 +#: src/pstree.c:850 #, fuzzy, c-format -msgid " -Z show SELinux security contexts\n" +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:771 +#: 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" +" 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" @@ -438,32 +572,41 @@ msgstr "" " user només mostra arbres amb arrel en processos d'aquest usuari\n" "\n" -#: src/pstree.c:778 +#: src/pstree.c:859 #, fuzzy, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (psmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: 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:920 +#: 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:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "No s'han trobat processos.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Premeu retorn per a tancar\n" @@ -473,6 +616,38 @@ msgstr "Premeu retorn per a tancar\n" 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" @@ -507,6 +682,3 @@ msgstr "%s: senyal desconegut. #~ msgid "ignoring -m in name space \"%s\"\n" #~ msgstr "s'està ignorant -m en l'espai de noms «%s»\n" - -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: especificació no vàlida\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 index 003bf84..a0b796d 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 19d97b2..c98751f 100644 --- a/po/de.po +++ b/po/de.po @@ -1,81 +1,276 @@ -# German Translation for psmisc files -# Copyright (C) 2002 Free Software Foundation, Inc. +# 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 20.1\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2004-11-02 13:36-0500\n" -"Last-Translator: Wolfgang Schorer \n" -"Language-Team: woolfy \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: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" -# "abbrechen" wird für "kill" verwendet -#: src/killall.c:74 +#: src/fuser.c:133 #, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) abbrechen? (y/N) " +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" -# "abbrechen" wird für "kill" verwendet -#: src/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) abbrechen? (y/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/killall.c:121 +#: src/fuser.c:160 #, c-format -msgid "Cannot get UID from process status\n" +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/killall.c:147 src/killall.c:682 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "Bad regular expression: %s\n" +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/killall.c:343 +#: src/fuser.c:184 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "überspringe teilweise Übereinstimmung von %s(%d)\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "Verzeichnis /proc kann nicht geöffnet werden: %s\n" -#: src/killall.c:445 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) mit dem Signal %d abgebrochen\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Kein Speicher mehr verfügbar für zugehöriges Prozess: %s\n" -#: src/killall.c:459 +#: src/fuser.c:478 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: Kein Prozess abgebrochen\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Angegebener Dateiname %s existiert nicht.\n" -#: src/killall.c:497 +#: src/fuser.c:481 #, c-format -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" +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/killall.c:511 +#: 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:514 +#: src/killall.c:618 #, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "" +msgstr "Aufruf: killall - [OPTION]... [--]NAME...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, c-format msgid "" " killall -l, --list\n" @@ -84,6 +279,8 @@ msgid "" " -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" @@ -94,367 +291,414 @@ msgid "" " -V,--version display version information\n" " -w,--wait wait for processes to die\n" msgstr "" - -#: src/killall.c:533 +" 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:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2002 Werner Almesberger und Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger und Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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 kommt mit KEINERLEI GARANTIE.\n" -"Dies ist freie Software, und Sie können sie gerne unter den GNU-Termen\n" -" (General Public License) weitervertreiben.\n" -"Für weitere Informationen über diese Angelegenheit sehen Sie bitte in die " -"Dateien, die\n" -" COPYING genannt werden.\n" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Ungültiges Zeitformat" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" -msgstr "" +msgstr "Kann Benutzer %s nicht finden!\n" -#: src/killall.c:715 +#: src/killall.c:798 #, c-format -msgid "Maximum number of names is %d\n" -msgstr "Die maximale Anzahl der Namen ist %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s ist leer (nicht gemountet?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Gebrauch: fuser [ -a | -s ] [ -n Raum ] [ -signal ] [ -kimuv ] Name ...\n" -" [ - ] [ -n Raum ] [ -signal ] [ -kimuv ] Name ...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -" -a Zeige auch die nicht genutzten Dateien an\n" -" -k Breche die Prozesse ab, die auf diese Datei zugreifen\n" -" -i Frage bevor abgebrochen wird (dies wird ignoriert ohne -k)\n" -" -l Liste die Signalnamen auf\n" -" -m mounted FS\n" -" -n Raum Suche in dem angegebenen Namensraum (file, udp, or tcp)\n" -" -s Stille Operation\n" -" -signal Sende 'signal' anstatt SIGKILL\n" -" -u Zeige die Benutzer IDs an\n" -" -v Ausführliche Ausgabe\n" -" -V Zeige Versionsinformationen an\n" -" -4 Suche nur IPv4 sockets\n" -" -6 Suche nur IPv6 sockets\n" -" - Rücksetzen der Optionen\n" -"\n" -" udp/tcp Namen: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +msgid "Bad regular expression: %s\n" +msgstr "Ungültiger regulärer Ausdruck: %s\n" -#: src/fuser.c:109 +#: src/killall.c:830 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Die maximale Anzahl von Namen ist %d\n" -#: src/fuser.c:113 +#: src/killall.c:835 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +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/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 +#: src/peekfd.c:96 #, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "Error attaching to pid %i\n" +msgstr "Fehler beim Anhängen an PID %i\n" -#: src/fuser.c:283 +#: src/peekfd.c:104 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/fuser.c:316 +#: src/peekfd.c:106 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:54 #, c-format -msgid "Cannot resolve local port %s: %s\n" +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/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" -msgstr "" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "" +#: src/prtstat.c:78 +msgid "running" +msgstr "läuft" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "schläft" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "schläft (Disk)" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" +#: src/prtstat.c:86 +msgid "traced" +msgstr "schritt" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "" +#: src/prtstat.c:88 +msgid "paging" +msgstr "auslagerung" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" -msgstr "" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "unbekannt" -#: src/fuser.c:901 +#: src/prtstat.c:164 #, c-format -msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" +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/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:189 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Prozess %d abbrechen? (y/N) " - -#: src/fuser.c:1222 +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 "Could not kill process %d: %s\n" +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/fuser.c:1237 -#, c-format -msgid "Cannot open a network socket.\n" -msgstr "" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf in print_stat fehlgeschlagen.\n" -#: src/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "Kann die Gerätenummer der Sockets nicht finden" +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Prozess mit PID %d existiert nicht.\n" -#: src/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" -msgstr "" +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Konnte Stat-Datei für PID %d nicht öffnen: %s\n" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Ungültige Option" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" -msgstr "" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Sie müssen mindestens eine PID angeben." -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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 "" +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:374 +#: src/pstree.c:794 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "" +msgid "%s is empty (not mounted ?)\n" +msgstr "%s ist leer (Dateisystem möglicherweise nicht eingebunden?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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:768 +#: src/pstree.c:859 #, c-format -msgid " -Z show SELinux security contexts\n" -msgstr "" +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:771 +#: src/pstree.c:862 #, c-format msgid "" -" PID start at this PID; default is 1 (init)\n" -" USER show only trees rooted at processes of this user\n" +"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:778 -#, fuzzy, c-format -msgid "pstree (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/pstree.c:871 +#: src/pstree.c:975 #, c-format msgid "TERM is not set\n" -msgstr "" +msgstr "TERM ist nicht gesetzt\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" -msgstr "" +msgstr "Kann die Fähigkeiten des Terminals nicht erkennen\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" -msgstr "" +msgstr "Kein Benutzer mit dem Namen »%s«\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" -msgstr "" +msgstr "Keine Prozesse gefunden.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "" +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 "" - -#~ msgid "-4 flag used but proc file %s is not readable\n" -#~ msgstr "-4 Flag verwendet, die Proc Datei %s ist aber nicht lesbar\n" - -#~ msgid "-6 flag used but proc file %s is not readable\n" -#~ msgstr "-6 Flag verwendet, die Proc Datei %s ist aber nicht lesbar\n" - -#~ msgid "kill %d" -#~ msgstr "Abbruch von %d" - -#~ msgid "No automatic removal. Please use umount %s\n" -#~ msgstr "Keine automatische Löschung. Bitte verwenden Sie umount %s\n" - -#~ msgid "No automatic removal. Please use swapoff %s\n" -#~ msgstr "Keine automatische Löschung. Bitte verwenden Sie swapoff %s\n" - -#~ msgid "Internal error (type %d)\n" -#~ msgstr "Interner Fehler (Typ %d)\n" - -#~ msgid "kernel mount " -#~ msgstr "Kernel mount " - -#~ msgid "kernel loop " -#~ msgstr "Kernel-Schleife (loop) " - -#~ msgid "kernel swap " -#~ msgstr "Kernel swap " +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 "ignoring -m in name space \"%s\"\n" -#~ msgstr "-m wird ignoriert im Namensraum \"%s\"\n" +#~ msgid "You cannot use the mounted and mountpoint flags together" +#~ msgstr "" +#~ "Die Flags gemounted und mount-Punkt können nicht gleichzeitig verwendet " +#~ "werden." -#, fuzzy -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: Falsche Spezifikation\n" +#~ msgid "Cannot stat mount point %s: %s\n" +#~ msgstr "Kann Status von Einhängepunkt \"%s\" nicht ermitteln: %s\n" -#~ msgid "No process references; use -v for the complete list\n" -#~ msgstr "" -#~ "Keine Prozess Referenzen; verwenden Sie -v für die komplette Liste\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/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 index 5d33007..7309ba9 100644 Binary files a/po/eu.gmo and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po index be65502..72f3817 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1,92 +1,275 @@ # Basque translation of psmisc. -# Copyright (C) 2005 Free Software Foundation, Inc. +# Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the psmisc package. -# Mikel Olasagasti , 2004, 2005. +# Mikel Olasagasti Uranga , 2004, 2005, 2009, 2010. # , fuzzy -# -# +# +# msgid "" msgstr "" -"Project-Id-Version: psmisc 21.6pre1\n" +"Project-Id-Version: psmisc 22.11-pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2005-02-23 14:55+0100\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=UTF-8\n" +"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: src/killall.c:74 +#: 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 "Kill %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) hil? (y/N) " +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/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) hil? (y/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/killall.c:121 +#: src/fuser.c:160 #, c-format -msgid "Cannot get UID from process status\n" +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/killall.c:147 src/killall.c:682 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "Bad regular expression: %s\n" +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/killall.c:343 +#: src/fuser.c:184 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "baterakuntza partziala saltatzen %s(%d)\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "Ezin da /proc direktorioa ireki: %s\n" -#: src/killall.c:445 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) hil da %d seinalearekin\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Ezin da memoria esleitu aurkitutako prozesuarentzat: %s\n" -#: src/killall.c:459 +#: src/fuser.c:478 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: ez da prozesurik hil\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Adierazitako %s fitxategia ez da existitzen.\n" -#: src/killall.c:497 -#, fuzzy, c-format -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" +#: 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 "" -"erabilera: pidof [ -eg ] izena ...\n" -" pidof -V\n" -"\n" -" -e izen oso luzeak berdin idaztera behartu;\n" -" jauzi komandoa eskuragarri ez badago\n" -" -g erakutsi prozesu taldearen IDa prozesuenaren ordez\n" -" -V bertsioaren informazioa bistaratu\n" -"\n" +"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:511 +#: 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 [-s sid] [-c context] [ .egiqvw ] [ -signal ] izena ...\n" +"Erabilera: killall [-Z KONTESTUA] [-u ERABILTZAILEA] [ -egiqvw ] [ -" +"SEINALEA ] IZENA ...\n" -#: src/killall.c:514 -#, fuzzy, c-format +#: src/killall.c:618 +#, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "erabilera: killall [ AUKERAK ] [ -- ] izena ...\n" +msgstr "erabilera: killall [AUKERAK ] [ -- ] IZENA...\n" -#: src/killall.c:517 -#, fuzzy, c-format +#: src/killall.c:621 +#, c-format msgid "" " killall -l, --list\n" " killall -V, --version\n" @@ -94,6 +277,8 @@ msgid "" " -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" @@ -107,367 +292,370 @@ msgstr "" " killall -l, --list\n" " killall -V --version\n" "\n" -" -e,--exact izen oso luzeak berdin idaztera behartu\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" -" -s,--signal bidali seinalea SIGTERM-ren ordez\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:533 -#, fuzzy, c-format +#: src/killall.c:639 +#, c-format msgid "" " -Z,--context REGEXP kill only process(es) having context\n" " (must precede other arguments)\n" msgstr "" -" -d,--sid hil sid hori duen/duten prozesuak\n" -" -c,--context hil scontext duten prozesuak bakarrik\n" -" (-s, -c elkarren artean esklusiboak dira eta beste argumentuen aurretik " -"joan behar dute)\n" -"\n" +" -Z,--context REGEXP hil kontestua duten prozesuak bakarrikkill only process" +"(es)\n" +" (beste argumentu batzuk aurretik izan behar ditu)\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, fuzzy, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2002 Werner Almesberger eta Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger eta Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Baliogabeko ordu formatua" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" -msgstr "" +msgstr "Ezin da %s erabiltzailea aurkitu\n" -#: src/killall.c:715 +#: src/killall.c:798 #, c-format -msgid "Maximum number of names is %d\n" +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:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\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/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"usage: fuser [ -a | -s | -c ] [ -n hutsuneak ] [ -seinalea ] [ -kimuv ] " -"izena ...\n" -" [ - ] [ -n hutsuneak ] [ -seinalea ] [ -kimuv ] izena ...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -" -a erakutsi erabiligabeko fitxategiak ere\n" -" -c muntatutako fitxategi sistemak\n" -" -f silently ignored (for POSIX compatibility\n" -" -k hil fitxategi hori erabiltzen hari diren prozesuak\n" -" -i galdetu hil baina lehenago (ignoratua -k gabe)\n" -" -l zerrendatu seinale izenak\n" -" -m muntatutako fitxategi sistemak\n" -" -n hutsuneak bilatu hutsunean espezifikatutako izena (fitxategia, udp, " -"edo tcp)\n" -" -s operazio ixila\n" -" -signal bidali seinalea SIGKILL beharrean\n" -" -u erakutsi erabiltzaileen id-ak\n" -" -v irteera xehetua\n" -" -V erakutsi bertsio informazioa\n" -" -4 erakutsi IPv4 socket-ak bakarrik\n" -" -6 erakutsi IPv6 socket-ak bakarrik\n" -" - garbitu aukerak\n" -"\n" -" udp/tcp izenak: [ataka_lokala][,[urruneko_ostalaria][,[urruneko_ataka]]]\n" -"\n" +#: src/peekfd.c:96 +#, c-format +msgid "Error attaching to pid %i\n" +msgstr "Errorea %i prozesura atxikitzen\n" -#: src/fuser.c:109 +#: src/peekfd.c:104 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/fuser.c:113 +#: src/peekfd.c:106 #, c-format msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" -#: src/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 -#, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" - -#: src/fuser.c:283 -#, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "" - -#: src/fuser.c:316 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat mount point %s: %s\n" +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/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/prtstat.c:54 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:65 #, c-format -msgid "Cannot resolve local port %s: %s\n" -msgstr "" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:492 +#: src/prtstat.c:66 #, c-format -msgid "Unknown local port AF %d\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" -#: src/fuser.c:553 -#, c-format -msgid "Cannot open protocol file \"%s\": %s\n" -msgstr "" +#: src/prtstat.c:78 +msgid "running" +msgstr "aktibo" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "lotan" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "lotan (diska)" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "" +#: src/prtstat.c:86 +msgid "traced" +msgstr "trazeatuta" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" +#: src/prtstat.c:88 +msgid "paging" +msgstr "orrikatzen" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "ezezaguna" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +#: 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/fuser.c:901 -#, fuzzy, c-format -msgid "%*s USER PID ACCESS COMMAND\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" -"%*s ERABILTZAILEA PID SARRERA KOMANDOA\n" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" 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/fuser.c:1019 +#: src/prtstat.c:175 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: 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 "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 -#, c-format -msgid "Kill process %d ? (y/N) " -msgstr "%d prozesua hil? (y/N) " +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf-ek print_stat-en huts egin du.\n" -#: src/fuser.c:1222 +#: src/prtstat.c:226 #, c-format -msgid "Could not kill process %d: %s\n" -msgstr "" +msgid "Process with pid %d does not exist.\n" +msgstr "%d pid-a duen prozesua ez da existitzen.\n" -#: src/fuser.c:1237 +#: src/prtstat.c:228 #, c-format -msgid "Cannot open a network socket.\n" -msgstr "" - -#: src/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "ezin da socket gailu zenbakia aurkitu" +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ezin da stat fitxategia ireki %d (%s) pid-erako\n" -#: src/peekfd.c:75 -#, c-format -msgid "Error attaching to pid %i\n" -msgstr "" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Baliogabeko aukera" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Gutxienez PID bat eman behar duzu" -#: src/peekfd.c:85 +#: src/prtstat.c:317 #, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" +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/peekfd.c:95 +#: src/pstree.c:794 #, 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/pstree.c:374 -#, fuzzy, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "MAX_DEPTH ez da behar bezain handia\n" +msgid "%s is empty (not mounted ?)\n" +msgstr "%s hutsik dago (muntatu gabea?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, fuzzy, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\n" -msgstr "" -"erabilera: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" -" [ -A | -G | -U ] [ pid | erabiltzailea]\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 erakutsi komando lerroaren argumentoak\n" -" -A erabili ASCII karaktereak\n" -" -c ez trinkotu azpi-zuhaitz berdinak\n" -" -h nabarmentu uneko prozesuak eta honen aurrekoak\n" -" -H pid nabarmendu \"pid\" prozesua eta honen aurrekoak\n" -" -G erabili VT100 karaktereak\n" -" -l ez moztu lerro luzeak\n" -" -n sailkatu irteera PIDaren arabera PID\n" -" -p erakutsi PIDak; -c erabiltzea esan nahi du\n" -" -u erakutsi uid transizioak\n" - -#: src/pstree.c:768 -#, fuzzy, c-format -msgid " -Z show SELinux security contexts\n" -msgstr "" -" -s erakutsi SID flaskoaok\n" -" -x erakutsi seguritate testuinguru flaskoak\n" - -#: src/pstree.c:771 -#, fuzzy, c-format +" -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" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" "\n" msgstr "" -" -U erabili UTF-8 (Unicode) lerro karaktereak marrazteko\n" -" -V bertsioaren informazioa bistaratu\n" -" pid zein pid-etan hasi, lehenetsia 1 (init)\n" -" user erakutsi erabiltzaile honen zuahitz prozesuen adarrak\n" +" PID zein PID-etan hasi, lehenetsia 1 (init)\n" +" ERABILTZAILEA erakutsi erabiltzaile honen zuahitz prozesuen adarrak\n" "\n" -#: src/pstree.c:778 -#, fuzzy, c-format +#: src/pstree.c:859 +#, c-format msgid "pstree (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "Ezin dira terminalaren gaitasunak lortu\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Ez dago honelako erabiltzaile izenik: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Ez da prozesurik aurkitu.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Sakatu 'return' itxitzeko\n" @@ -477,6 +665,44 @@ msgstr "Sakatu 'return' itxitzeko\n" 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" @@ -512,9 +738,6 @@ msgstr "%s: seinale ezezaguna; %s -l seinaleak zerrendatu.\n" #~ msgid "ignoring -m in name space \"%s\"\n" #~ msgstr "-m ignoratzen \"%s\" izen tartean\n" -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: baliogabeko espezifikazioa\n" - #~ msgid "" #~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" #~ msgstr "" diff --git a/po/fi.gmo b/po/fi.gmo index 0a8e4b6..31864f0 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index dc88e39..73b84c6 100644 --- a/po/fi.po +++ b/po/fi.po @@ -1,81 +1,283 @@ # Finnish translation for psmisc. -# Copyright (C) 2004 Free Software Foundation, Inc. +# 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. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: psmisc 21.5\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2004-10-29 15:14+0300\n" -"Last-Translator: Lars Wirzenius \n" -"Language-Team: Finnish \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-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/killall.c:74 -#, fuzzy, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Lopeta prosessi %s(%s%d)? (y=kyllä, n=ei) " +#: 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/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Lopeta prosessi %s(%s%d)? (y=kyllä, n=ei) " +#: 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/killall.c:121 +#: src/fuser.c:163 #, c-format -msgid "Cannot get UID from process status\n" +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" msgstr "" +"Copyright © 1993-2010 Werner Almesberger ja Craig Small\n" +"\n" -#: src/killall.c:147 src/killall.c:682 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "Bad regular expression: %s\n" +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/killall.c:343 +#: src/fuser.c:184 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "ohitan osittaisen osuman %s(%d)\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "Ei voida avata ”/proc”-hakemistoa: %s\n" -#: src/killall.c:445 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Prosessi %s(%s%d) lopetettu signaalilla %d\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Ei voida varata muistia täsmäävälle ”proc”-hakemistolle: %s\n" -#: src/killall.c:459 +#: src/fuser.c:478 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: ei lopetettuja prosesseja\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Määriteltyä tiedostonimeä %s ei ole olemassa.\n" -#: src/killall.c:497 +#: src/fuser.c:481 #, c-format -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" +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:511 +#: 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:514 +#: src/killall.c:618 #, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "" +msgstr "Käyttö: killall [VALITSIN]... [--] NIMI...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, c-format msgid "" " killall -l, --list\n" @@ -84,6 +286,8 @@ msgid "" " -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" @@ -94,331 +298,379 @@ msgid "" " -V,--version display version information\n" " -w,--wait wait for processes to die\n" msgstr "" - -#: src/killall.c:533 +" 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:554 src/fuser.c:122 src/pstree.c:780 -#, fuzzy, c-format +#: src/killall.c:651 +#, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2002 Werner Almesberger and Craig Small\n" +"Copyright © 1993-2012 Werner Almesberger ja Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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 "" -"Allaoleva on epävirallinen käännös. Tulkintatilanteissa pätee alkuperäinen\n" -"englanninkielinen versio.\n" -"\n" -"Copyright (C) 1993-2002 Werner Almesberger ja Craig Small\n" -"\n" -"PSmisc-ohjelmistolla ei ole mitään takuuta.\n" -"Tämä vapaa ohjelmisto ja saat kopioida ja levittää sitä GNU General Public\n" -"License -lisenssin mukaisesti. Tiedostossa COPYING on tarkemmat tiedot.\n" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Virheellinen aikamuoto" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" -msgstr "" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Suurin sallittu määrä nimiä on %d\n" +msgstr "Ei löydy käyttäjää %s\n" -#: src/killall.c:720 src/pstree.c:710 +#: src/killall.c:798 #, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s on tyhjä (ei liitetty?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"käyttö: fuser [ -a | -s | -c ] [ -n nimistö ] [ -signaali ] [ -kimuv ] " -"nimi ...\n" -" [ - ] [ -n nimistö ] [ -signaali ] [ -kimuv ] nimi ...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -" -a näytä myös käyttämättömät tiedostot\n" -" -c liitetty tiedostojärjestelmä\n" -" -f ei merkitystä (tarvitaan POSIX-yhteensopivuuden takia)\n" -" -k lopeta prosessit, jotka käyttävät tiedostoa\n" -" -i kysy ennen lopetusta (ei merkitystä ilman -k)\n" -" -l näytä signaalinimien luettelo\n" -" -m liitetty tiedostojärjestelmä\n" -" -n nimiavaruus etsi annetusta nimiavaruudesta (file, udp, tai tcp)\n" -" -s ole hiljaa\n" -" -signaali lähetä muu signaali kuin SIGKILL\n" -" -u näytä käyttäjätunnukset\n" -" -v kerro paljon ylimääräistä\n" -" -V näytä versio\n" -" -4 etsi vain IPv4-pistokkeista\n" -" -6 etsi vain IPv6-pistokkeista\n" -" - nollaa optiot\n" -"\n" -" udp/tcp-nimet: [paikallinen_portti][,[etäkone][,[etäkone]]]\n" -"\n" +msgid "Bad regular expression: %s\n" +msgstr "Virheellinen säännöllinen lauseke: %s\n" -#: src/fuser.c:109 +#: src/killall.c:830 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Suurin sallittu määrä nimiä on %d\n" -#: src/fuser.c:113 +#: src/killall.c:835 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s-kohteesta puuttuu prosessirivit (ei ole liitetty?)\n" -#: src/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 +#: src/peekfd.c:96 #, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "Error attaching to pid %i\n" +msgstr "Virhe liityttäessä pid-tunnukseen %i\n" -#: src/fuser.c:283 +#: src/peekfd.c:104 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/fuser.c:316 +#: src/peekfd.c:106 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:54 #, c-format -msgid "Cannot resolve local port %s: %s\n" +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/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" -msgstr "" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" +"Copyright © 2009 Craig Small\n" +"\n" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "" +#: src/prtstat.c:78 +msgid "running" +msgstr "suoritetaan" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "levätään" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "levylepo" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombi" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" +#: src/prtstat.c:86 +msgid "traced" +msgstr "jäljitetty" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "" +#: src/prtstat.c:88 +msgid "paging" +msgstr "sivutetaan" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" -msgstr "" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "tuntematon" -#: src/fuser.c:901 +#: src/prtstat.c:164 #, c-format -msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" +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/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:189 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Lopeta prosess %d? (y=kyllä, N=ei) " - -#: src/fuser.c:1222 +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 "Could not kill process %d: %s\n" +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/fuser.c:1237 -#, c-format -msgid "Cannot open a network socket.\n" -msgstr "" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf kutsussa print_stat epäonnistui.\n" -#: src/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "pistokkeen laitenumeroa ei löydy" +#: 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/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" -msgstr "" +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Ei kyetä avaamaan stat-tiedostoa prosessitunnisteelle %d (%s)\n" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Virheellinen valitsin" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" -msgstr "" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Sinun on tarjottava vähintään yksi PID-prosessitunniste." -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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" +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:374 -#, fuzzy, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "MAX_DEPTH-vakio on liian pieni.\n" +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s on tyhjä (ei liitetty?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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:768 -#, fuzzy, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -x näytä Flask-kontekstit\n" +#: src/pstree.c:859 +#, c-format +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:771 -#, fuzzy, c-format +#: src/pstree.c:862 +#, c-format msgid "" -" PID start at this PID; default is 1 (init)\n" -" USER show only trees rooted at processes of this user\n" +"Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n" "\n" msgstr "" -" kjä näytä vain puita, jotka alkavat käyttäjän kjä omistuksessa\n" +"Copyright © 1993-2009 Werner Almesberger ja Craig Small\n" "\n" -#: src/pstree.c:778 -#, fuzzy, c-format -msgid "pstree (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" - -#: src/pstree.c:871 +#: src/pstree.c:975 #, c-format msgid "TERM is not set\n" -msgstr "TERM ei ole asetettu\n" +msgstr "TERM-signaali ei ole asetettu\n" -#: src/pstree.c:876 +#: 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:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Käyttäjätunnus puuttuu: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Prosesseja ei löydy.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Enter-näppäin sulkee\n" @@ -426,7 +678,45 @@ msgstr "Enter-näppäin sulkee\n" #: src/signals.c:84 #, c-format msgid "%s: unknown signal; %s -l lists signals.\n" -msgstr "" +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" @@ -456,11 +746,7 @@ msgstr "" #~ msgstr "kernel swap " #~ msgid "ignoring -m in name space \"%s\"\n" -#~ msgstr "optio -m merkityksetön nimiavaruudessa \"%s\"\n" - -#, fuzzy -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: epäkelpo määrittely\n" +#~ msgstr "optio -m merkityksetön nimiavaruudessa ”%s”\n" #~ msgid "" #~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" @@ -491,7 +777,7 @@ msgstr "" #~ 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" +#~ 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" diff --git a/po/fr.gmo b/po/fr.gmo index 329e7cf..6b5a6a3 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 688e287..667e92f 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,79 +1,281 @@ -# French Translation of PSmisc messages. -# "Copyright (C) 1993-2001 Werner Almesberger, Craig Small, and Marc Léger\n" -# Translated by Marc Léger , November 2001. +# 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 20.1\n" +"Project-Id-Version: psmisc-22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2002-04-12 21:33+1000\n" -"Last-Translator: Marc Léger \n" -"Language-Team: French \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=iso-8859-1\n" -"Content-Transfer-Encoding: 8-bit\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/killall.c:74 -#, fuzzy, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Tuer %s(%s%d) ? (y/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/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Tuer %s(%s%d) ? (y/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/killall.c:121 +#: src/fuser.c:163 #, c-format -msgid "Cannot get UID from process status\n" +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/killall.c:147 src/killall.c:682 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "Bad regular expression: %s\n" +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/killall.c:343 +#: src/fuser.c:184 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "Ignore la correspondance partielle %s(%d)\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "Impossible d'ouvrir le répertoire /proc: %s\n" -#: src/killall.c:445 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Tué %s(%s%d) avec le signal %d\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Impossible d'allouer de la mémoire au processus correspondant: %s\n" -#: src/killall.c:459 +#: src/fuser.c:478 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: aucun processus tué\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Le nom de fichier %s n'existe pas.\n" -#: src/killall.c:497 +#: src/fuser.c:481 #, c-format -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" +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/killall.c:511 +#: 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:514 +#: src/killall.c:618 #, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "" +msgstr "Usage : killall [OPTION]... [--] NOM...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, c-format msgid "" " killall -l, --list\n" @@ -82,6 +284,8 @@ msgid "" " -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" @@ -92,370 +296,409 @@ msgid "" " -V,--version display version information\n" " -w,--wait wait for processes to die\n" msgstr "" - -#: src/killall.c:533 +" 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:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" - -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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" +"Copyright (C) 1993-2012 Werner Almesberger et Craig Small\n" "\n" -"PSmisc fait l'objet d'AUCUNE GARANTIE.\n" -"C'est un logiciel libre, et vous pouvez le redistribuer en respectant les " -"termes\n" -"de la licence GNU General Public License.\n" -"Pour plus de précisions à propos de ces problèmes, voir les fichiers nommés " -"COPYING.\n" -#: src/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Format de temps incorrect" -#: src/killall.c:715 +#: src/killall.c:767 #, c-format -msgid "Maximum number of names is %d\n" -msgstr "Le nombre maximum de noms est %d\n" +msgid "Cannot find user %s\n" +msgstr "Utilisateur %s introuvable\n" -#: src/killall.c:720 src/pstree.c:710 +#: src/killall.c:798 #, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s est vide (non monté ?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"utilisation.: fuser [ -a | -s ] [ -n espace ] [ -signal ] [ -kimuv ] " -"nom ...\n" -" [ - ] [ -n espace ] [ -signal ] [ -kimuv ] nom ...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -" -a affiche les fichiers inutilisés aussi\n" -" -k tue les processus accédant à ce fichier\n" -" -i demande avant de tuer (ignoré sans -k)\n" -" -l liste les noms des signaux\n" -" -m système de fichiers monté\n" -" -n espace cherche dans l'espace de noms spécifié (fichier, udp, ou tcp)\n" -" -s mode silencieux\n" -" -signal envoi le signal \"signal\" au lieu de SIGKILL\n" -" -u affiche l'identificateur de l'utilisateur\n" -" -v mode détaillé\n" -" -V affiche des informations sur la version\n" -" -4 cherche des sockets IPv4 seulement\n" -" -6 cherche des sockets IPv6 seulement\n" -" - réinitialise les options\n" -"\n" -" noms udp/tcp: [port_local][,[hôte_distant][,[port_distant]]]\n" -"\n" +msgid "Bad regular expression: %s\n" +msgstr "Mauvaise expression régulière : %s\n" -#: src/fuser.c:109 +#: src/killall.c:830 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: Le nombre maximum de noms est %d\n" -#: src/fuser.c:113 +#: src/killall.c:835 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: %s n'a aucune entrée de processus (pas monté ?)\n" -#: src/fuser.c:147 +#: src/peekfd.c:96 #, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "Error attaching to pid %i\n" +msgstr "Erreur lors de l'attachement au pid %i\n" -#: src/fuser.c:283 +#: src/peekfd.c:104 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/fuser.c:316 +#: src/peekfd.c:106 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:54 #, c-format -msgid "Cannot resolve local port %s: %s\n" +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/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" -msgstr "" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "" +#: src/prtstat.c:78 +msgid "running" +msgstr "en cours" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "endormi" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "attente disque" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombie" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" +#: src/prtstat.c:86 +msgid "traced" +msgstr "tracé" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "" +#: src/prtstat.c:88 +msgid "paging" +msgstr "demande de page" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" -msgstr "" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "inconnu" -#: src/fuser.c:901 +#: src/prtstat.c:164 #, c-format -msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" +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/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 -#, fuzzy, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Tuer le processus %d ? (y/n) " - -#: src/fuser.c:1222 +#: src/prtstat.c:189 #, c-format -msgid "Could not kill process %d: %s\n" -msgstr "" - -#: src/fuser.c:1237 +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 "Cannot open a network socket.\n" +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/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "ne peut pas trouver le numéro du périphérique des sockets" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "échec de asprintf dans print_stat.\n" -#: src/peekfd.c:75 +#: src/prtstat.c:226 #, c-format -msgid "Error attaching to pid %i\n" -msgstr "" - -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" +msgid "Process with pid %d does not exist.\n" +msgstr "Le processus avec le pid %d n'existe pas.\n" -#: src/peekfd.c:85 +#: src/prtstat.c:228 #, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" -msgstr "" +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/peekfd.c:95 +#: 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 "" -"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" +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:374 +#: src/pstree.c:794 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "" +msgid "%s is empty (not mounted ?)\n" +msgstr "%s est vide (pas monté ?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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:768 +#: src/pstree.c:859 #, c-format -msgid " -Z show SELinux security contexts\n" -msgstr "" +msgid "pstree (PSmisc) %s\n" +msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:771 +#: src/pstree.c:862 #, c-format msgid "" -" PID start at this PID; default is 1 (init)\n" -" USER show only trees rooted at processes of this user\n" +"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:778 -#, fuzzy, c-format -msgid "pstree (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/pstree.c:871 +#: src/pstree.c:975 #, c-format msgid "TERM is not set\n" -msgstr "" +msgstr "TERM n'est pas défini\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" -msgstr "" +msgstr "Impossible d'obtenir les spécifications du terminal\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" -msgstr "" +msgstr "Aucun utilisateur portant ce nom: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" -msgstr "" +msgstr "Aucun processus trouvé.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "" +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 "" - -#~ msgid "-4 flag used but proc file %s is not readable\n" -#~ msgstr "drapeau -4 utilisé mais le fichier proc %s est illisible\n" - -#~ msgid "-6 flag used but proc file %s is not readable\n" -#~ msgstr "drapeau -6 utilisé mais le fichier proc %s est illisible\n" - -#~ msgid "kill %d" -#~ msgstr "tuer %d" - -#~ msgid "No automatic removal. Please use umount %s\n" -#~ msgstr "Pas de démontage automatique. Utiliser SVP umount %s\n" - -#~ msgid "No automatic removal. Please use swapoff %s\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 "" -#~ "Pas de démontage automatique du fichier d'échange. Utiliser SVP swapoff %" -#~ "s\n" - -#~ msgid "Internal error (type %d)\n" -#~ msgstr "Erreur interne (type %d)\n" - -#~ msgid "kernel mount " -#~ msgstr "montage du noyau " - -#~ msgid "kernel loop " -#~ msgstr "boucle du noyau " - -#~ msgid "kernel swap " -#~ msgstr "fichier d'échange du noyau " - -#~ msgid "ignoring -m in name space \"%s\"\n" -#~ msgstr "ignore -m dans l'espace de noms \"%s\"\n" - -#, fuzzy -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: spécification invalide\n" - -#~ msgid "No process references; use -v for the complete list\n" +#~ "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 "" -#~ "Pas de références sur le processus; utiliser -v pour la liste complète\n" +#~ "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 index 84c83a9..29f991e 100644 Binary files a/po/hu.gmo and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index 98aad29..fb4001c 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,91 +1,276 @@ -# Hungarian translations for psmisc package. -# Copyright (C) 2006 Free Software Foundation, Inc. +# 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. -# Miklos Vajna , 2006. # +# Emese Kovacs , 2006. +# Gabor Kelemen , 2006, 2007, 2009, 2012. msgid "" msgstr "" -"Project-Id-Version: psmisc 22.2\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2006-08-05 02:34+0200\n" -"Last-Translator: Miklos Vajna \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=ISO-8859-2\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/killall.c:74 +#: src/fuser.c:133 #, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Megöli a következõt: %s(%s%d) ? (y/N) " +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/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Megöli a következõt: %s(%s%d) ? (y/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/killall.c:121 +#: src/fuser.c:160 #, c-format -msgid "Cannot get UID from process status\n" -msgstr "Nem sikerült megkapni a UID-t a folyamat állapotból\n" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:147 src/killall.c:682 +#: src/fuser.c:163 #, c-format -msgid "Bad regular expression: %s\n" -msgstr "Rossz reguláris kifejezés: %s\n" +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/killall.c:343 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "részleges egyezés kihagyása: %s(%d)\n" +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/killall.c:445 +#: src/fuser.c:184 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) megölve a következõ szignállal: %d\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "A /proc könyvtár nem nyitható meg: %s\n" -#: src/killall.c:459 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: nincs megölt folyamat\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Nem foglalható memória az illeszkedő folyamat részére: %s\n" -#: src/killall.c:497 +#: src/fuser.c:478 #, c-format -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" +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 "" -"Használat: pidof [ -eg ] NÉV...\n" -" pidof -V\n" -"\n" -" -e teljes egyezés igénylése nagyon hosszú nevek esetén;\n" -" kihagyás, ha a parancssor nem elérhetõ\n" -" -g a folyamat csoport ID-jának mutatása a folyamat ID helyett\n" -" -V verzióinformáció megjelenítése\n" -"\n" +"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:511 +#: src/killall.c:615 #, c-format msgid "" "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" msgstr "" -"Használat: killall [-Z KÖRNYEZET] [-u FELHASZNÁLÓ] [ -eIgiqrvw ] [ -" -"SZIGNÁL ] NÉV...\n" +"Használat: killall [-Z KONTEXTUS] [-u FELHASZNÁLÓ] [ -eIgiqrvw ] [ -" +"SZIGNÁL ] NÉV...\n" -#: src/killall.c:514 +#: src/killall.c:618 #, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Használat: killal [OPCIÓ]... [--] NÉV...\n" +msgstr "Használat: killall [KAPCSOLÓ]... [--] NÉV...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, c-format msgid "" " killall -l, --list\n" @@ -94,6 +279,8 @@ msgid "" " -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" @@ -107,371 +294,376 @@ msgstr "" " killall -l, --list\n" " killall -V, --version\n" "\n" -" -e,--exact teljes egyezés igénylése nagyon hosszú nevek esetére\n" -" -I,--ignore-case kisbetû/nagybetû-érzékenység kikapcsolása\n" -" -g,--process-group a folyamatcsoport megölése a folyamat helyett\n" -" -i,--interactive megerõsítés kérése megölés elõtt\n" -" -l,--list az összes ismert szignálnév listázása\n" -" -q,--quiet ne nyomtasson kifogásokat\n" -" -r,--regexp értelmezze a NEVET kiterjesztett reguláris " -"kifejezésként\n" -" -s,--signal SZIGNÁL ezt a szignált küldje SIGTERM helyett\n" -" -u,--user FELHASZNÁLÓ csak a FELHASZNÁLÓként futó folyamatok megölése\n" -" -v,--verbose jelentse ha a szignált sikeresen elküldte\n" -" -V,--version verzióinformáció megjelenítése\n" -" -w,--wait várja meg míg meghal a folyamat\n" - -#: src/killall.c:533 +" -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 az adott környezettel rendelkezõ folyamat(ok) " -"megölése\n" -" (meg kell elõzze a többi argumentumot)\n" +" -Z,--context REGEXP csak a kontextussal rendelkező folyamatok kilövése\n" +" (meg kell előznie az egyéb argumentumokat)\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger és Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger és Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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 nem vállal SEMMILYEN garanciát.\n" -"Ez egy szabad szoftver, szabadon terjeszthetõ a GNU General Public License\n" -"feltételei mellett.\n" -"Ezzel kapcsolatban egyéb információk találhatók a COPYING nevû fájlban.\n" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "Érvénytelen időformátum" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" -msgstr "%s: nem található ilyen felhasználó\n" +msgstr "A(z) %s felhasználó nem található\n" -#: src/killall.c:715 +#: src/killall.c:798 #, c-format -msgid "Maximum number of names is %d\n" -msgstr "A neve maximális száma %d\n" +msgid "Bad regular expression: %s\n" +msgstr "Hibás reguláris kifejezés: %s\n" -#: src/killall.c:720 src/pstree.c:710 +#: src/killall.c:830 #, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "Nem üres: %s (nincs csatlakoztatva?)\n" +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/fuser.c:89 -#, fuzzy, c-format +#: src/peekfd.c:104 +#, c-format +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" + +#: src/peekfd.c:106 +#, c-format msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" +"Copyright (C) 2007 Trent Waddington\n" "\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" msgstr "" -"Használat: fuser [ -a | -s | -c ] [ -n TÉR ] [ -SZIGNÁL ] [ -kimuv ] NÉV...\n" -" [ - ] [ -n TÉR ] [ -SZIGNÁL ] [ -kimuv ] NÉV...\n" -" fuser -l\n" -" fuser -V\n" -"Megmutatja, hogy mely folyamatok használják az adott fájlt, socketet vagy " -"fájlrendszert.\n" -"\n" -" -a megjeleníti a nem használt könyvtárakat is\n" -" -c csatlakoztatott FS\n" -" -f csöndben figyelmen kívül hagyva (POSIX kompatibilitás miatt)\n" -" -i kérdezzen megölés elõtt (figyelmen kívül hagyva a -k nélkül)\n" -" -k a fájlt használó folyamtok megölése\n" -" -l az elérhetõ szignálnevek listázása\n" -" -m mutassa az összes folyamatot amely az adott fájlrendszert " -"használja\n" -" -n TÉR keressen ebben a névtérben (file, udp, vagy tcp)\n" -" -s csendes mûködés\n" -" -SZIGNÁL küldje ezt a szignált a SIGKILL helyett\n" -" -u felhasználói azonosítók megjelenítése\n" -" -v beszédes kimenet\n" -" -V verzióinformáció megjelenítése\n" -" -4 csak IPv4 socketek keresése\n" -" -6 csak IPv6 socketek keresése\n" -" - opciók törlése\n" -"\n" -" udp/tcp nevek: [helyi_port][,[távoli_gép][,[távoli_port]]]\n" +"Copyright (C) 2007 Trent Waddington\n" "\n" -#: src/fuser.c:109 +#: src/peekfd.c:116 #, c-format msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" +"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/fuser.c:113 +#: src/prtstat.c:54 #, c-format msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +"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/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 -#, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "Nem sikerült megnyitni a /proc könyvtárat: %s\n" - -#: src/fuser.c:283 -#, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "Nem sikerült allokálni memóriát a következõ egyezõ folyamatnak: %s\n" - -#: src/fuser.c:316 -#, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Nem sikerült statolni a %s csatlakozási pontot: %s\n" - -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 -#, c-format -msgid "Cannot stat %s: %s\n" -msgstr "Nem sikerült statolni: %s: %s\n" - -#: src/fuser.c:476 -#, c-format -msgid "Cannot resolve local port %s: %s\n" -msgstr "Nem sikerült feloldani a %s. számú helyi portot: %s\n" - -#: src/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" -msgstr "Ismeretlen helyi port: AF %d\n" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" -msgstr "Nem sikerült megnyitni a \"%s\" protokoll-fájlt: %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" +msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "A névtér opció igényel egy paramétert." +#: src/prtstat.c:78 +msgid "running" +msgstr "fut" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "Érvénytelen névtér név" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "alszik" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "Csak csatlakoztatási-pont opcióként használhat fájlokat" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "lemez alszik" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "Nem adott meg folyamat-specifikációt" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "zombi" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Nem használható a csatolt és csatolási pont kapcsoló egyszerre" +#: src/prtstat.c:86 +msgid "traced" +msgstr "követett" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "a -a opció nem használható a csendes opcióval." +#: src/prtstat.c:88 +msgid "paging" +msgstr "lapoz" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" -msgstr "Nem kereshet csak IPv4 és csak IPv6 socketeket egy idõben" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "ismeretlen" -#: src/fuser.c:901 -#, fuzzy, c-format -msgid "%*s USER PID ACCESS COMMAND\n" +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" msgstr "" -"\n" -"%*s FELHASZNÁLÓ PID ELÉRÉS PARANCS\n" +"Folyamat: %-14s\t\tÁllapot: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tSzálak: %ld\n" -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" -msgstr "(ismeretlen)" - -#: src/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" -msgstr "Nem érhetõ el a %s file: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" -msgstr "Nem sikerült megnyitni a /proc/net/unix fájlt: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Nem sikerült megnyitni a /etc/mtab fájlt: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:189 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Megöli a %d-s folyamatot? (y/N) " +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/fuser.c:1222 +#: src/prtstat.c:199 #, c-format -msgid "Could not kill process %d: %s\n" -msgstr "Nem sikerült megölni a %d-s folyamatot: %s\n" +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/fuser.c:1237 -#, c-format -msgid "Cannot open a network socket.\n" -msgstr "Nem sikerült megnyitni egy hálózati socketet.\n" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "az asprintf a print_stat hívásban sikertelen.\n" -#: src/fuser.c:1241 +#: src/prtstat.c:226 #, c-format -msgid "Cannot find socket's device number.\n" -msgstr "Nem sikerült megtalálni a socket eszközszámát.\n" +msgid "Process with pid %d does not exist.\n" +msgstr "Nem létezik %d PID-ű folyamat.\n" -#: src/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" -msgstr "" +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/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "pstree (PSmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "Érvénytelen kapcsoló" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" -msgstr "" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Legalább egy PID-et meg kell adnia." -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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 "" +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:374 +#: src/pstree.c:794 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Belsõ hiba: a MAX_DEPTH nem elég nagy.\n" +msgid "%s is empty (not mounted ?)\n" +msgstr "a(z) %s üres (nincs csatlakoztatva?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 ] [ -u ]\n" -" [ -A | -G | -U ] [ PID | FELHASZNÁLÓ ]\n" +"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 folyamtok egy fáját.\n" +"Megjeleníti a folyamatok fáját.\n" "\n" -" -a a parancssori argumentumok mutatása\n" -" -A használjon ASCII sor rajzoló karaktereket\n" -" -c ne vegye egynek az egyezõ alfákat\n" -" -h a jelenlegi folyamat és annak õseinek kiemelése\n" -" -H PID ennek a folyamatnak és õseinek kiemelése\n" -" -G használjon VT100 sor rajzoló karaktereket\n" -" -l ne vágja le a hosszú sorokat\n" -" -n rendezze a kimenetet PID szerint\n" -" -p PID-ek mutatása; a -c-t bekapcsolja\n" -" -u mutassa az uid változásokat\n" -" -U használjon UTF-8 (Unicode) sor rajzoló karaktereket\n" -" -V verzióinformációk megjelenítése\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z mutassa az SELinux biztonsági környezeteket\n" - -#: src/pstree.c:771 +" -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" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" "\n" msgstr "" -" PID induljon ennél a PID-nél; az alapértelmezés az 1 (init)\n" -" FELHASZNÁLÓ csak azokat a fákat mutassa amik ennek a felhasználónak a " -"folyamatainál gyökereznek\n" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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" +msgstr "A TERM nincs beállítva\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" -msgstr "Nem sikerült a terminál kapacitásait lekérdezni\n" +msgstr "A terminál képességei nem kérhetők le\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" -msgstr "Nincs ilyen felhasználónév: %s\n" +msgstr "Nincs ilyen felhasználónév: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" -msgstr "Nem található folyamat.\n" +msgstr "Nem találhatók folyamatok.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "Üssön entert a bezáráshoz\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; %s -l listázza a szignálokat.\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/it.gmo b/po/it.gmo index 3f845a6..889b61f 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index f7b1de8..b857bf9 100644 --- a/po/it.po +++ b/po/it.po @@ -1,145 +1,104 @@ # Italian messages for psmisc. -# Copyright (C) 2001, 2005, 2006, 2007 Free Software Foundation, Inc. -# This file is distributed under the same license as the psmisc file. -# Marco Colombo , 2005, 2006, 2007. +# 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.5\n" +"Project-Id-Version: psmisc 22.12\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2007-05-30 17:17+0100\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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Terminare %s(%s%d)? (y/N) " - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Terminare %s(%s%d)? (y/N) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Impossibile ottenere l'UID dallo stato del processo\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Espressione regolare non valida: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "ignorata corrispondenza parziale %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Terminato %s(%s%d) con segnale %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: nessun processo terminato\n" - -#: src/killall.c:497 -#, c-format 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" +"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: 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" +"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" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -"Uso: killall [-Z CONTESTO] [-u UTENTE] [ -eIgiqrvw ] [ -SEGNALE ] NOME...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Uso: killall [OPZIONE]... [--] NOME...\n" +" -4,--ipv4 cerca solo socket IPv4\n" +" -6,--ipv6 cerca solo socket IPv6\n" -#: src/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\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" -" -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" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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" +msgstr "" +" - reimposta le opzioni\n" "\n" +" nomi udp/tcp: [porta locale][,[host remoto][,[porta remota]]]\n" -#: src/killall.c:533 +#: src/fuser.c:160 #, 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" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger e Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger e Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -152,214 +111,254 @@ msgstr "" "della GNU General Public License.\n" "Si consulti il file COPYING per ulteriori informazioni.\n" -#: src/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Impossibile trovare l'utente %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Il massimo numero di nomi è %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s è vuoto (non montato?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Uso: fuser [ -a | -s | -c ] [ -n CONTESTO ] [ -SEGNALE ] [ -kimuv ] NOME...\n" -" [ - ] [ -n CONTESTO] [ -SEGNALE ] [ -kimuv ] NOME...\n" -" fuser -l\n" -" fuser -V\n" -"Mostra quali processi stanno usando un certo file, socket o filesystem.\n" -"\n" -" -a mostra anche i file inutilizzati\n" -" -c file system montati\n" -" -f ignorata (per compatibilità POSIX)\n" -" -i conferma prima di terminare (ignorato senza -k)\n" -" -k termina tutti i processi che accedono al file specificato\n" -" -l elenca i nomi dei segnali\n" -" -m mostra tutti i processi che usano il filesystem specificato\n" -" -n CONTESTO cerca nel contesto specificato (file, udp, o tcp)\n" -" -s opera silenziosamente\n" -" -SEGNALE invia il segnale indicato invece di SIGKILL\n" -" -u mostra i nomi utente\n" -" -v output prolisso\n" -" -V mostra le informazioni sulla versione\n" -" -4 cerca solo socket IPv4\n" -" -6 cerca solo socket IPv6\n" -" - riazzera le opzioni\n" -"\n" -" nomi udp/tcp: [porta locale][,[host remoto][,[porta remota]]]\n" -"\n" - -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 +#: src/fuser.c:184 #, c-format msgid "Cannot open /proc directory: %s\n" msgstr "Impossibile aprire la directory /proc: %s\n" -#: src/fuser.c:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Impossibile fare stat del mount point %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Il file indicato %s non esiste.\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "Impossibile fare stat di %s: %s\n" -#: src/fuser.c:476 +#: 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:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "Porta locale AF %d sconosciuta\n" -#: src/fuser.c:553 +#: 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:746 +#: 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:755 +#: 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:811 -msgid "You can only use files with mountpoint option" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Nessun tipo di processo specificato" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Impossibile usare le opzioni -c e -m allo stesso tempo" - -#: src/fuser.c:852 +#: 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:856 +#: 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" -# FIXME: COMANDO DI ACCESSO ? -#: src/fuser.c:901 +#: src/fuser.c:1246 #, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "%*s UTENTE PID ACCESSO COMANDO\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(sconosciuto)" -#: src/fuser.c:1019 +#: 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:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Impossibile aprire /etc/mtab: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " -msgstr "Terminare il processo %d? (y/N) " +msgstr "Terminare il processo %d? (s/N) " -#: src/fuser.c:1222 +#: 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:1237 +#: 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:1241 +#: 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/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, c-format msgid "peekfd (PSmisc) %s\n" msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" @@ -369,7 +368,7 @@ msgstr "" "\n" # FIXME -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -392,92 +391,265 @@ msgstr "" "\n" " Premere CTRL-C per terminare l'output.\n" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Errore interno: MAX_DEPTH non è abbastanza grande.\n" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/pstree.c:750 +#: src/prtstat.c:66 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 mostra gli argomenti della riga di comando\n" -" -A usa caratteri grafici ASCII\n" -" -c non comprime i sottoalberi identici\n" -" -h evidenzia il processo corrente e i suoi antenati\n" -" -H PID evidenzia il processo PID e i suoi antenati\n" -" -G usa caratteri grafici VT100\n" -" -l non tronca le righe lunghe\n" -" -n ordina l'output in base al PID\n" -" -p mostra i PID; implica -c\n" -" -u mostra le transizioni di uid\n" -" -U usa caratteri grafici UTF-8 (Unicode)\n" -" -V mostra le informazioni sulla versione\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z mostra i contesti di sicurezza SELinux\n" - -#: src/pstree.c:771 +" -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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "Impossibile determinare le capacità del terminale\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Questo nome utente non esiste: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Nessun processo trovato.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Premere Invio per chiudere\n" @@ -487,41 +659,28 @@ msgstr "Premere Invio per chiudere\n" msgid "%s: unknown signal; %s -l lists signals.\n" msgstr "%s: segnale sconosciuto; usare %s -l per elencare i segnali.\n" -#~ msgid "Cannot open protocol file \"%s\": %s" -#~ msgstr "Impossibile aprire il file di protocollo \"%s\": %s" - -#~ msgid "%s: SID (%s) must be numeric\n" -#~ msgstr "%s: SID (%s) deve essere numerico\n" - -#~ msgid "-4 flag used but proc file %s is not readable\n" -#~ msgstr "è stata usata l'opzione -4, ma il file proc %s non è leggibile\n" - -#~ msgid "-6 flag used but proc file %s is not readable\n" -#~ msgstr "è stata usata l'opzione -6, ma il file proc %s non è leggibile\n" - -#~ msgid "kill %d" -#~ msgstr "termina %d" - -#~ msgid "No automatic removal. Please use umount %s\n" -#~ msgstr "Impossible rimuovere automaticamente. Usare umount %s\n" - -#~ msgid "No automatic removal. Please use swapoff %s\n" -#~ msgstr "Impossible rimuovere automaticamente. Usare swapoff %s\n" - -#~ msgid "Internal error (type %d)\n" -#~ msgstr "Errore interno (tipo %d)\n" - -#~ msgid "kernel mount " -#~ msgstr "mount del kernel" - -#~ msgid "kernel loop " -#~ msgstr "ciclo del kernel" - -#~ msgid "kernel swap " -#~ msgstr "file di swap del kernel" - -#~ msgid "ignoring -m in name space \"%s\"\n" -#~ msgstr "ignorato -m nel contesto \"%s\"\n" - -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: specificazione non valida\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 index 207224a..1b4bdbe 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index 17b7c72..86de785 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,186 +7,38 @@ msgid "" msgstr "" "Project-Id-Version: psmisc 22.2pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) ¤òkill¤·¤Þ¤¹¤«? (y/N)" - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) ¤òkill¤·¤Þ¤¹¤«? (y/N)" - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "¥×¥í¥»¥¹¤Î¸½ºß¾õÂÖ¤«¤éUID¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "ÉÔÀµ¤ÊÀµµ¬É½¸½: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "Éôʬ°ìÃפò¥¹¥­¥Ã¥× %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) ¤ò¥·¥°¥Ê¥ë %d ¤Çkill¤·¤Þ¤·¤¿\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: ¤É¤Î¥×¥í¥»¥¹¤âkill¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿\n" - -#: src/killall.c:497 -#, c-format -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" - -#: src/killall.c:511 -#, c-format -msgid "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" -msgstr "" -"»ÈÍÑË¡: killall [-Z CONTEXT] [-u ¥æ¡¼¥¶¡¼] [ -eIgiqrvw ] [ -¥·¥°¥Ê¥ë ] ̾" -"Á°...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "»ÈÍÑË¡: killall [¥ª¥×¥·¥ç¥ó]... [--] ̾Á°...\n" - -#: src/killall.c:517 -#, 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" -" -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:533 -#, 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:554 src/fuser.c:122 src/pstree.c:780 -#, c-format -msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" -"\n" -msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" -"\n" - -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "¥æ¡¼¥¶ %s ¤òȯ¸«¤Ç¤­¤Þ¤»¤ó\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "̾Á°¤ÎºÇÂç»ØÄê²Äǽ¿ô¤Ï %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s ¤Ï¶õ¥Ç¥£¥ì¥¯¥È¥ê (¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" +"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 display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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" @@ -218,155 +70,302 @@ msgstr "" " udp/tcp ̾Á°: [¥í¡¼¥«¥ë¥Ý¡¼¥È][,[¥ê¥â¡¼¥È¥Û¥¹¥È][,[¥ê¥â¡¼¥È¥Ý¡¼¥È]]]\n" "\n" -#: src/fuser.c:109 +#: src/fuser.c:150 #, c-format msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -#: src/fuser.c:113 +#: src/fuser.c:153 #, c-format msgid "" -" - reset options\n" +" - reset options\n" "\n" " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" "\n" msgstr "" -#: src/fuser.c:120 +#: src/fuser.c:160 #, c-format msgid "fuser (PSmisc) %s\n" msgstr "fuser (PSmisc) %s\n" -#: src/fuser.c:147 +#: 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:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È %s ¤òstat¤Ç¤­¤Þ¤»¤ó: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "%s ¤òstat¤Ç¤­¤Þ¤»¤ó: %s\n" -#: src/fuser.c:476 +#: src/fuser.c:618 #, c-format msgid "Cannot resolve local port %s: %s\n" msgstr "¥í¡¼¥«¥ë¥Ý¡¼¥È %s ¤ò²ò·è¤Ç¤­¤Þ¤»¤ó: %s\n" -#: src/fuser.c:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "̤ÃÎ¤Î¥í¡¼¥«¥ë¥Ý¡¼¥È AF %d\n" -#: src/fuser.c:553 +#: src/fuser.c:724 #, c-format msgid "Cannot open protocol file \"%s\": %s\n" msgstr "¥×¥í¥È¥³¥ë¥Õ¥¡¥¤¥ë \"%s\" ¤¬³«¤±¤Þ¤»¤ó: %s\n" -#: src/fuser.c:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "ÉÔÀµ¤Ê̾Á°¶õ´Ö̾" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" msgstr "" "¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¥ª¥×¥·¥ç¥ó(-m¤Þ¤¿¤Ï-c)¤È°ì½ï¤Ë»È¤¨¤ë¤Î¤Ïfile̾Á°¶õ´Ö¤Î¤ß¤Ç¤¹" -#: src/fuser.c:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "-m¥ª¥×¥·¥ç¥ó¤È-c¥ª¥×¥·¥ç¥ó¤ÏƱ»þ¤Ë¤Ï»È¤¨¤Þ¤»¤ó" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." msgstr "-a¥ª¥×¥·¥ç¥ó¤Ï-s¥ª¥×¥·¥ç¥ó¤È°ì½ï¤Ë¤Ï»ÈÍѤǤ­¤Þ¤»¤ó" -#: src/fuser.c:856 +#: 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:901 +#: src/fuser.c:1246 #, fuzzy, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "" "\n" "%*s ¥æ¡¼¥¶ PID ¥¢¥¯¥»¥¹ ¥³¥Þ¥ó¥É\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(ÉÔÌÀ)" -#: src/fuser.c:1019 +#: 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:1113 +#: src/fuser.c:1540 #, c-format msgid "Cannot open /proc/net/unix: %s\n" msgstr "/proc/net/unix ¤¬³«¤±¤Þ¤»¤ó: %s\n" -#: src/fuser.c:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "/etc/mtab ¤¬³«¤±¤Þ¤»¤ó: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "¥×¥í¥»¥¹ %d ¤òkill¤·¤Þ¤¹¤«? (y/N) " -#: src/fuser.c:1222 +#: src/fuser.c:1652 #, c-format msgid "Could not kill process %d: %s\n" msgstr "¥×¥í¥»¥¹ %d ¤ò kill ¤Ç¤­¤Þ¤»¤ó: %s\n" -#: src/fuser.c:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "¥Í¥Ã¥È¥ï¡¼¥¯¥½¥±¥Ã¥È¤¬³«¤±¤Þ¤»¤ó.\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" msgstr "¥½¥±¥Ã¥È¤Î¥Ç¥Ð¥¤¥¹Èֹ椬¸«¤Ä¤«¤ê¤Þ¤»¤ó.\n" -#: src/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, fuzzy, c-format msgid "peekfd (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -380,31 +379,167 @@ msgid "" " Press CTRL-C to end output.\n" msgstr "" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "ÆâÉô¥¨¥é¡¼: MAX_DEPTH ¤¬½½Ê¬Â礭¤¯¤¢¤ê¤Þ¤»¤ó.\n" +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/pstree.c:750 +#: src/prtstat.c:180 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -424,48 +559,57 @@ msgstr "" " -U UTF-8 (Unicode) ʸ»ú¤ò·ÓÀþɽ¼¨¤Ë»ÈÍÑ\n" " -V ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨\n" -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" msgstr " -Z SELinux¥»¥­¥å¥ê¥Æ¥£¥³¥ó¥Æ¥­¥¹¥È¤òɽ¼¨¤¹¤ë\n" -#: src/pstree.c:771 -#, c-format +#: 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "üËö¤Îµ¡Ç½¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "»ØÄê¥æ¡¼¥¶Ì¾¤Ï¸ºß¤·¤Þ¤»¤ó: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "¥×¥í¥»¥¹¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤¹¤ÈÊĤ¸¤Þ¤¹\n" @@ -475,5 +619,37 @@ msgstr " 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 index bccbb21..6293d6a 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index 78b2004..4e8da95 100644 --- a/po/nb.po +++ b/po/nb.po @@ -22,185 +22,38 @@ msgid "" msgstr "" "Project-Id-Version: psmisc 22.2pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Drepe %s(%s%d) ? (j/n) " - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Drepe %s(%s%d) ? (j/n) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Kan ikke finne UID fra prosesstatus\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Ugyldig regulært uttrykk: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "hopper over delvis treff %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Drepte %s(%s%d) med signalet %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: drepte ingen prosess\n" - -#: src/killall.c:497 -#, c-format -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" - -#: src/killall.c:511 -#, 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:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Bruksmåte: killall [VALG]... [--] navn...\n" - -#: src/killall.c:517 -#, 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" -" -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:533 -#, 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:554 src/fuser.c:122 src/pstree.c:780 -#, c-format -msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" -"\n" -msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n" -"\n" - -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Kan ikke finne brukeren %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Maksimalt antall navn er %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s er tom (ikke montert?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" +"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 display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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" @@ -232,156 +85,302 @@ msgstr "" " udp/tcp-navn: [local_port][,[rmt_host][,[rmt_port]]]\n" "\n" -#: src/fuser.c:109 +#: src/fuser.c:150 #, c-format msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -#: src/fuser.c:113 +#: src/fuser.c:153 #, c-format msgid "" -" - reset options\n" +" - reset options\n" "\n" " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" "\n" msgstr "" -#: src/fuser.c:120 +#: src/fuser.c:160 #, c-format msgid "fuser (PSmisc) %s\n" msgstr "fuser (PSmisc) %s\n" -#: src/fuser.c:147 +#: 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:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Kan ikke kjøre stat på monteringspunktet %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: 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:476 +#: 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:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "Ukjent lokalport AF %d\n" -#: src/fuser.c:553 +#: 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:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "Ugyldig navn på navnerom" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Ingen prosesspesifikasjon ble gitt" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Du kan ikke bruke montert- og monteringspunktvalgene samtidig" - -#: src/fuser.c:852 +#: 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:856 +#: 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:901 +#: 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:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(ukjent)" -#: src/fuser.c:1019 +#: 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:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Kan ikke åpne /etc/mtab: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "Drepe prosess %d ? (j/N) " -#: src/fuser.c:1222 +#: 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:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "Kan ikke åpne en nettverkssocket.\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" msgstr "Kan ikke finne socketens enhetsnummer.\n" -#: src/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, fuzzy, c-format msgid "peekfd (PSmisc) %s\n" msgstr "pstree (psmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -395,31 +394,167 @@ msgid "" " Press CTRL-C to end output.\n" msgstr "" -#: src/pstree.c:374 +#: src/prtstat.c:54 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Intern feil: MAX_DEPTH er ikke stor nok.\n" +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/pstree.c:750 +#: 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 ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -440,47 +575,56 @@ msgstr "" " -U tegn linjer med UTF-8-tegn (Unicode)\n" " -V vis programversjon\n" -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" msgstr " -Z vis SELinux sikkerhetskontekster\n" -#: src/pstree.c:771 -#, c-format +#: 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (psmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: 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:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Fant ikke brukeren «%s».\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Fant ingen prosesser.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Trykk på enter for å lukke.\n" @@ -489,3 +633,34 @@ msgstr "Trykk p #, 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 index a621012..d20c504 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index 1e19e21..3d82100 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,145 +1,118 @@ -# Translation of psmisc-22.5 to Dutch. -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Dutch translations for psmisc. +# Copyright (C) 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the PSmisc package. -# Benno Schulenberg , 2004, 2005, 2006, 2007. # +# «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.5\n" +"Project-Id-Version: psmisc-22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2007-05-31 14:03+0200\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: KBabel 1.11.4\n" - -#: src/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Proces %s(%s%d) afbreken? (j/N) " - -#: src/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Proces %s(%s%d) afbreken? (j/N) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Kan uit processtatus geen UID bepalen\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Ongeldige reguliere expressie: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "overgeslagen: gedeeltelijke overeenkomst %s(%d)\n" - -#: src/killall.c:445 -#, 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:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: er is geen proces afgebroken\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/killall.c:497 +#: src/fuser.c:133 #, c-format 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" +"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: pidof [-eg] NAAM...\n" -" pidof -V\n" +"Gebruik: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n NAAMSRUIMTE]\n" +" [-k [-i] [-SIGNAAL]] NAAM...\n" +" of: fuser [-l|-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" +"De processen tonen die gebruik maken van de genoemde bestanden,\n" +"sockets of bestandssystemen\n" "\n" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -"Gebruik: killall [-Z CONTEXT] [-egIiqrvw] [-SIGNAAL] [-u GEBRUIKER] " -"NAAM...\n" +" -4,--ipv4 alleen naar IPv4-sockets zoeken\n" +" -6,--ipv6 alleen naar IPv6-sockets zoeken\n" -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Gebruik: killall [-egIiqrvw] [-SIGNAAL] [-u GEBRUIKER] [--] NAAM...\n" - -#: src/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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" +" - alle opties terugzetten op standaardwaarden\n" "\n" -" -e,--exact zeer lange namen moeten exact overeenkomen\n" -" -g,--process-group een procesgroep afbreken in plaats van een proces\n" -" -I,--ignore-case verschil tussen hoofd- en kleine letters negeren\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" +" tcp/udp-namen: [lokale_poort][,[gindse_host][,[gindse_poort]]]\n" "\n" -#: src/killall.c:533 +#: src/fuser.c:160 #, 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" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger en Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -152,212 +125,249 @@ msgstr "" "onder de voorwaarden van de GNU General Public License.\n" "Zie voor meer informatie hierover het bestand genaamd COPYING.\n" -#: src/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Kan gebruiker %s niet vinden\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Het maximum aantal namen is %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s is leeg -- niet aangekoppeld?\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Gebruik: fuser [-a|-c|-s] [-n RUIMTE] [-SIGNAAL] [-ikmuv] NAAM...\n" -" [-] [-n RUIMTE] [-SIGNAAL] [-ikmuv] NAAM...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -"De processen tonen die gebruik maken van de genoemde bestanden,\n" -"sockets of bestandssystemen\n" -"\n" -" -a de ongebruikte bestanden ook noemen\n" -" -c (hetzelfde als -m)\n" -" -f (genegeerd, maar herkend voor POSIX-compatibiliteit)\n" -" -i om bevestiging vragen (genegeerd zonder -k)\n" -" -k processen afbreken die het gegeven bestand gebruiken\n" -" -l lijst van beschikbare signalen tonen\n" -" -m processen tonen die het gegeven bestandssysteem gebruiken\n" -" -n RUIMTE in de gegeven naamsruimte ('file', 'udp', of 'tcp') zoeken\n" -" -s geen uitvoer produceren\n" -" -u de gebruiker-IDs tonen\n" -" -V de programmaversie tonen\n" -" -v breedsprakige uitvoer produceren\n" -" -SIGNAAL dit signaal sturen in plaats van KILL (zie -l voor een " -"lijst)\n" -" -4 alleen naar IPv4-sockets zoeken\n" -" -6 alleen naar IPv6-sockets zoeken\n" -" - alle opties herinitialiseren\n" -"\n" -" tcp/udp-namen: [lokale_poort][,[gindse_host][,[gindse_poort]]]\n" -"\n" - -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 +#: src/fuser.c:184 #, c-format msgid "Cannot open /proc directory: %s\n" msgstr "Kan /proc niet openen: %s\n" -#: src/fuser.c:283 +#: 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 om gevonden proces te verwerken: %s\n" +msgstr "Onvoldoende geheugen beschikbaar om gevonden proces te verwerken: %s\n" -#: src/fuser.c:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Kan status van aankoppelingspunt %s niet bepalen: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Opgegeven bestandsnaam %s bestaat niet.\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "Kan status van %s niet bepalen: %s\n" -#: src/fuser.c:476 +#: 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:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "Onbekende lokale poort AF %d\n" -#: src/fuser.c:553 +#: 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:746 +#: 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" +msgstr "De naamsruimte-optie '-n' vereist een argument" -#: src/fuser.c:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "Ongeldige naamsruimte" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "Bij opties -c of -m mogen alleen bestandsnamen gegeven worden" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Geen naam van bestand of socket opgegeven" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Opties -c en -m mogen niet allebei gebruikt worden" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." msgstr "Opties -a en -s gaan niet samen" -#: src/fuser.c:856 +#: 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:901 +#: src/fuser.c:1246 #, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "%*s GEBRUIKER PID SOORT PROGRAMMA\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(onbekend)" -#: src/fuser.c:1019 +#: 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:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Kan /etc/mtab niet openen: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "Proces %d afbreken? (j/N) " -#: src/fuser.c:1222 +#: 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:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "Kan netwerk-socket niet openen.\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" msgstr "Kan apparaatnummer van socket niet vinden.\n" -#: src/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, c-format msgid "peekfd (PSmisc) %s\n" msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" @@ -366,7 +376,7 @@ msgstr "" "Copyright (C) 2007 Trent Waddington\n" "\n" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -381,7 +391,7 @@ msgid "" msgstr "" "Gebruik: peekfd [-8cdn] [-Vh] [...]\n" "\n" -" -8 8-bits schone uitvoer produceren\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" @@ -390,93 +400,270 @@ msgstr "" "\n" "Typ Ctrl-C om het programma te stoppen.\n" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "**Interne fout**: MAX_DEPTH is niet groot genoeg.\n" +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/pstree.c:750 +#: src/prtstat.c:199 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 [-aclnpu] [-h|-H PID] [-A|-G|-U] [ PID | NAAM ]\n" -" pstree -V\n" +"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 ASCII-tekens voor de lijntjes gebruiken\n" -" -a argumenten van de opdrachtregel tonen\n" -" -c identieke subbomen niet compacteren\n" -" -G VT100-tekens voor de lijntjes gebruiken\n" -" -H PID dit proces en diens voorouders accentueren\n" -" -h huidig proces en zijn voorouders accentueren\n" -" -l lange regels niet afkappen\n" -" -n uitvoer sorteren naar PID\n" -" -p PIDs tonen (dit impliceert -c)\n" -" -U Unicode-tekens (UTF-8) voor de lijntjes gebruiken\n" -" -u UID-overgangen tonen\n" -" -V de programmaversie tonen\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z SELinux-veiligheidscontexten tonen\n" - -#: src/pstree.c:771 +" -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" +" 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 " +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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" +msgstr "Omgevingsvariabele TERM heeft geen waarde.\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "Kan terminalcapaciteiten niet bepalen\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "Geen bestaande gebruikersnaam: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Geen processen gevonden.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Druk op Enter om af te sluiten\n" @@ -484,4 +671,24 @@ 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 lijst van mogelijke signalen\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 index 880d03a..7de8eaf 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 164f3bb..c4c447d 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,147 +1,107 @@ # Polish translations for psmisc. -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# 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-2007. +# Jakub Bogusz , 2003-2012. # msgid "" msgstr "" -"Project-Id-Version: psmisc 22.5\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2007-05-30 17:34+0200\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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Zabiæ %s(%s%d)? (t/N) " - -#: src/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Zabiæ %s(%s%d)? (t/N) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Nie mo¿na pobraæ UID-a ze stanu procesu\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "B³êdne wyra¿enie regularne: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "pominiêto czê¶ciowe dopasowanie %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Zabito %s(%s%d) sygna³em %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: nie zabito ¿adnego procesu\n" - -#: src/killall.c:497 +#: src/fuser.c:133 #, c-format 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" +"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: pidof [ -eg ] NAZWA...\n" -" pidof -V\n" -"\n" -" -e wymaganie dok³adnego dopasowania dla bardzo d³ugich nazw;\n" -" pomijane je¶li linia poleceñ nie jest dostêpna\n" -" -g wy¶wietlanie ID grup procesów zamiast ID procesów\n" -" -V wy¶wietlenie informacji o wersji\n" +"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" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -"Sk³adnia: killall [-Z KONTEKST] [-u U¯YTKOWNIK] [ -eIgiqrvw ] [ -SYGNA£ ] " -"NAZWA...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Sk³adnia: killall [OPCJE]... [--] NAZWA...\n" +" -4,--ipv4 szukanie tylko gniazd IPv4\n" +" -6,--ipv6 szukanie tylko gniazd IPv6\n" -#: src/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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" +" - wyzerowanie opcji\n" +"\n" +" nazwy tcp/udp: [port_lokalny][,[zdalny_host][,[port_zdalny]]]\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" -" -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:533 +#: src/fuser.c:160 #, 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" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright (C) 1993-2005 Werner Almesberger i Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger i Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -154,211 +114,253 @@ msgstr "" "Powszechnej Licencji Publicznej GNU (General Public License).\n" "Wiêcej informacji znajduje siê w pliku o nazwie COPYING.\n" -#: src/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Nie mo¿na odnale¼æ u¿ytkownika %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Maksymalna liczba nazw to %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s jest pusty (nie podmontowany?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Sk³adnia: fuser [ -a | -s | -c ] [ -n PRZESTRZEÑ ] [ -SYGNA£ ] [ -kimuv ] " -"NAZWA...\n" -" [ - ] [ -n PRZESTRZEÑ ] [ -SYGNA£ ] [ -kimuv ] 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 wy¶wietlenie tak¿e nie u¿ywanych plików\n" -" -c podmontowany system plików\n" -" -f po cichu ignorowane (dla kompatybilno¶ci z POSIX)\n" -" -i pytanie przed zabiciem (ignorowane bez -k)\n" -" -k zabicie procesów u¿ywaj±cych podanego pliku\n" -" -l lista nazw sygna³ów\n" -" -m pokazanie procesów u¿ywaj±cych podanych systemów plików\n" -" -n PRZESTRZEÑ szukanie w podanej przestrzeni nazw (file, udp lub tcp)\n" -" -s dzia³anie po cichu\n" -" -SYGNA£ wys³anie podanego sygna³u zamiast SIGKILL\n" -" -u wy¶wietlenie identyfikatorów u¿ytkowników\n" -" -v podanie wiêkszej ilo¶ci informacji\n" -" -V wy¶wietlenie informacji o wersji\n" -" -4 szukanie tylko gniazd IPv4\n" -" -6 szukanie tylko gniazd IPv6\n" -" - wyzerowanie opcji\n" -"\n" -" nazwy tcp/udp: [port_lokalny][,[zdalny_host][,[port_zdalny]]]\n" -"\n" - -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 +#: 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:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Nie mo¿na wykonaæ stat na punkcie montowania %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Podana nazwa pliku %s nie istnieje.\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: 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:476 +#: 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:492 +#: 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:553 +#: 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:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "Niepoprawna nazwa przestrzeni nazw" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "Z opcj± punktu montowania mo¿na u¿ywaæ tylko plików" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Nie podano okre¶lenia procesów" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Nie mo¿na u¿yæ jednocze¶nie flag podmontowanego i punktu montowania" - -#: src/fuser.c:852 +#: 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:856 +#: 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:901 +#: 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:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(nieznany)" -#: src/fuser.c:1019 +#: 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:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Nie mo¿na otworzyæ /etc/mtab: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "Zabiæ proces %d? (y/N) " -#: src/fuser.c:1222 +#: 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:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "Nie mo¿na otworzyæ gniazda sieciowego.\n" -#: src/fuser.c:1241 +#: 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/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, c-format msgid "peekfd (PSmisc) %s\n" msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" @@ -367,7 +369,7 @@ msgstr "" "Copyright (C) 2007 Trent Waddington\n" "\n" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -390,92 +392,269 @@ msgstr "" "\n" " Ctrl-C koñczy wyj¶cie.\n" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "B³±d wewnêtrzny: MAX_DEPTH jest zbyt ma³e.\n" +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:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 ] [ -u ]\n" +"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 wy¶wietlenie argumentów linii poleceñ\n" -" -A u¿ycie znaków ramek ASCII\n" -" -c nie scalanie identycznych poddrzew\n" -" -h pod¶wietlenie bie¿±cego procesu i jego przodków\n" -" -H PID pod¶wietlenie podanego procesu i jego przodków\n" -" -G u¿ycie znaków ramek VT100\n" -" -l nie obcinanie d³ugich linii\n" -" -n sortowanie wyj¶cia wg PID-u\n" -" -p wy¶wietlanie PID-ów; w³±cza tak¿e -c\n" -" -u wy¶wietlanie zmian uidów\n" -" -U u¿ycie znaków ramek UTF-8 (Unicode)\n" -" -V wy¶wietlenie informacji o wersji\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z wy¶wietlanie kontekstów bezpieczeñstwa SELinuksa\n" - -#: src/pstree.c:771 +" -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" +" 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: 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:920 +#: 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:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Nie znaleziono procesów.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Naci¶niêcie return zamknie program\n" diff --git a/po/psmisc.pot b/po/psmisc.pot index 2ef188b..c729459 100644 --- a/po/psmisc.pot +++ b/po/psmisc.pot @@ -8,74 +8,228 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 +#: src/fuser.c:133 #, c-format -msgid "Kill %s(%s%d) ? (y/N) " +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/killall.c:77 +#: src/fuser.c:153 #, c-format -msgid "Signal %s(%s%d) ? (y/N) " +msgid "" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"\n" msgstr "" -#: src/killall.c:121 +#: src/fuser.c:160 #, c-format -msgid "Cannot get UID from process status\n" +msgid "fuser (PSmisc) %s\n" msgstr "" -#: src/killall.c:147 src/killall.c:682 +#: src/fuser.c:163 #, c-format -msgid "Bad regular expression: %s\n" +msgid "" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" +"\n" msgstr "" -#: src/killall.c:343 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "skipping partial match %s(%d)\n" +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/killall.c:445 +#: src/fuser.c:184 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" +msgid "Cannot open /proc directory: %s\n" msgstr "" -#: src/killall.c:459 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "%s: no process killed\n" +msgid "Cannot allocate memory for matched proc: %s\n" msgstr "" -#: src/killall.c:497 +#: src/fuser.c:478 #, c-format -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" +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:511 +#: 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:514 +#: src/killall.c:618 #, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" msgstr "" -#: src/killall.c:517 +#: src/killall.c:621 #, c-format msgid "" " killall -l, --list\n" @@ -84,6 +238,8 @@ msgid "" " -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" @@ -95,293 +251,281 @@ msgid "" " -w,--wait wait for processes to die\n" msgstr "" -#: src/killall.c:533 +#: 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:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n" "\n" msgstr "" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" msgstr "" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" msgstr "" -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "" - -#: src/fuser.c:89 -#, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" - -#: src/fuser.c:109 +#: src/killall.c:798 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" +msgid "Bad regular expression: %s\n" msgstr "" -#: src/fuser.c:113 +#: src/killall.c:830 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +msgid "killall: Maximum number of names is %d\n" msgstr "" -#: src/fuser.c:120 +#: src/killall.c:835 #, c-format -msgid "fuser (PSmisc) %s\n" +msgid "killall: %s lacks process entries (not mounted ?)\n" msgstr "" -#: src/fuser.c:147 +#: src/peekfd.c:96 #, c-format -msgid "Cannot open /proc directory: %s\n" +msgid "Error attaching to pid %i\n" msgstr "" -#: src/fuser.c:283 +#: src/peekfd.c:104 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" +msgid "peekfd (PSmisc) %s\n" msgstr "" -#: src/fuser.c:316 +#: src/peekfd.c:106 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:54 #, c-format -msgid "Cannot resolve local port %s: %s\n" +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/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" +msgid "prtstat (PSmisc) %s\n" msgstr "" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." +#: src/prtstat.c:78 +msgid "running" msgstr "" -#: src/fuser.c:755 -msgid "Invalid namespace name" +#: src/prtstat.c:80 +msgid "sleeping" msgstr "" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/prtstat.c:82 +msgid "disk sleep" msgstr "" -#: src/fuser.c:840 -msgid "No process specification given" +#: src/prtstat.c:84 +msgid "zombie" msgstr "" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" +#: src/prtstat.c:86 +msgid "traced" msgstr "" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." +#: src/prtstat.c:88 +msgid "paging" msgstr "" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +#: src/prtstat.c:90 +msgid "unknown" msgstr "" -#: src/fuser.c:901 +#: src/prtstat.c:164 #, c-format -msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" msgstr "" -#: src/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" msgstr "" -#: src/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:189 #, c-format -msgid "Kill process %d ? (y/N) " +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/fuser.c:1222 +#: src/prtstat.c:199 #, c-format -msgid "Could not kill process %d: %s\n" +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" msgstr "" -#: src/fuser.c:1237 -#, c-format -msgid "Cannot open a network socket.\n" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" msgstr "" -#: src/fuser.c:1241 +#: src/prtstat.c:226 #, c-format -msgid "Cannot find socket's device number.\n" +msgid "Process with pid %d does not exist.\n" msgstr "" -#: src/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" +msgid "Unable to open stat file for pid %d (%s)\n" msgstr "" -#: src/peekfd.c:83 -#, c-format -msgid "peekfd (PSmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" msgstr "" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." msgstr "" -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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" +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" msgstr "" -#: src/pstree.c:374 +#: src/pstree.c:794 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" +msgid "%s is empty (not mounted ?)\n" msgstr "" -#: src/pstree.c:750 +#: src/pstree.c:830 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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:768 +#: src/pstree.c:850 #, c-format -msgid " -Z show SELinux security contexts\n" +msgid " -Z show SELinux security contexts\n" msgstr "" -#: src/pstree.c:771 +#: 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "" diff --git a/po/pt.gmo b/po/pt.gmo index 66b2160..574e8ac 100644 Binary files a/po/pt.gmo and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index da3fbcf..562b9ee 100644 --- a/po/pt.po +++ b/po/pt.po @@ -6,108 +6,70 @@ msgid "" msgstr "" "Project-Id-Version: psmisc 1.0\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 -#, fuzzy, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Termina %s(%s%d) ? (y/n) " - -#: src/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Termina %s(%s%d) ? (y/n) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "ignorando resultado parcial %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Abortado %s(%s%d) com sinal %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: nenhum processo abortado\n" - -#: src/killall.c:497 +#: src/fuser.c:133 #, c-format 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" +"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" -msgstr "" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "" - -#: src/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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:533 -#, c-format -msgid "" -" -Z,--context REGEXP kill only process(es) having context\n" -" (must precede other arguments)\n" -msgstr "" +#: src/fuser.c:160 +#, fuzzy, c-format +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -123,217 +85,233 @@ msgstr "" "Para maiores informações sobre estes assuntos, veja os arquivos com nome " "COPYING.\n" -#: src/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Número máximo de nomes é %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s está vazio (não está montado?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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" - -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 +#: src/fuser.c:184 #, c-format msgid "Cannot open /proc directory: %s\n" msgstr "" -#: src/fuser.c:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "Specified filename %s does not exist.\n" msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "" -#: src/fuser.c:476 +#: src/fuser.c:618 #, c-format msgid "Cannot resolve local port %s: %s\n" msgstr "" -#: src/fuser.c:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "" -#: src/fuser.c:553 +#: src/fuser.c:724 #, c-format msgid "Cannot open protocol file \"%s\": %s\n" msgstr "" -#: src/fuser.c:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/fuser.c:1102 +msgid "You can only use files with mountpoint options" msgstr "" -#: src/fuser.c:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." msgstr "" -#: src/fuser.c:856 +#: src/fuser.c:1168 msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" msgstr "" -#: src/fuser.c:901 +#: src/fuser.c:1246 #, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "" -#: src/fuser.c:1019 +#: src/fuser.c:1415 src/fuser.c:1454 #, c-format msgid "Cannot stat file %s: %s\n" msgstr "" -#: src/fuser.c:1113 +#: src/fuser.c:1540 #, c-format msgid "Cannot open /proc/net/unix: %s\n" msgstr "" -#: src/fuser.c:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, fuzzy, c-format msgid "Kill process %d ? (y/N) " msgstr "Aborta processo %d ? (y/n) " -#: src/fuser.c:1222 +#: src/fuser.c:1652 #, c-format msgid "Could not kill process %d: %s\n" msgstr "" -#: src/fuser.c:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "" -#: src/fuser.c:1241 +#: 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/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, fuzzy, c-format msgid "peekfd (PSmisc) %s\n" msgstr "fuser (psmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -347,72 +325,212 @@ msgid "" " Press CTRL-C to end output.\n" msgstr "" -#: src/pstree.c:374 +#: src/prtstat.c:54 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" +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/pstree.c:750 +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "fuser (psmisc) %s\n" + +#: src/prtstat.c:66 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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:768 +#: src/pstree.c:850 #, c-format -msgid " -Z show SELinux security contexts\n" +msgid " -Z show SELinux security contexts\n" msgstr "" -#: src/pstree.c:771 +#: 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" +" 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:778 +#: src/pstree.c:859 #, fuzzy, c-format msgid "pstree (PSmisc) %s\n" msgstr "fuser (psmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "" @@ -451,13 +569,64 @@ msgstr "" #~ 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" -#, fuzzy -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: especificação invalida\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/ro.gmo b/po/ro.gmo index c0a0ed2..5720bfa 100644 Binary files a/po/ro.gmo and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po index 74f03c8..789b2ee 100644 --- a/po/ro.po +++ b/po/ro.po @@ -9,84 +9,239 @@ msgid "" msgstr "" "Project-Id-Version: psmisc-21.6pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\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/killall.c:74 +#: 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:77 +#: src/killall.c:103 #, fuzzy, c-format msgid "Signal %s(%s%d) ? (y/N) " msgstr "Terminã %s(%s%d) ? (y/N) " -#: src/killall.c:121 +#: src/killall.c:211 #, c-format -msgid "Cannot get UID from process status\n" +msgid "killall: Cannot get UID from process status\n" msgstr "" -#: src/killall.c:147 src/killall.c:682 +#: src/killall.c:237 #, c-format -msgid "Bad regular expression: %s\n" +msgid "killall: Bad regular expression: %s\n" msgstr "" -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" +#: 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:445 +#: 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:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: nici un proces nu a fost terminat\n" - -#: src/killall.c:497 +#: src/killall.c:576 #, fuzzy, c-format -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: no process found\n" +msgstr "%s: nici un proces nu a fost terminat\n" -#: src/killall.c:511 +#: 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:514 +#: src/killall.c:618 #, fuzzy, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" msgstr "folosire: killall [ OPÞIUNI ] [ -- ] nume ...\n" -#: src/killall.c:517 +#: src/killall.c:621 #, fuzzy, c-format msgid "" " killall -l, --list\n" @@ -95,6 +250,8 @@ msgid "" " -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" @@ -120,7 +277,7 @@ msgstr "" " -w,--wait aºteaptã ca procesele sã termine\n" "\n" -#: src/killall.c:533 +#: src/killall.c:639 #, fuzzy, c-format msgid "" " -Z,--context REGEXP kill only process(es) having context\n" @@ -131,279 +288,230 @@ msgstr "" " (-s, -c sunt mutual exlusive ºi trebuie sã preceadã celelalte argumente\n" "\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, fuzzy, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"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:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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" +#: src/killall.c:741 src/killall.c:747 +msgid "Invalid time format" 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/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" msgstr "" -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Numãr maxim de nume este %d\n" - -#: src/killall.c:720 src/pstree.c:710 +#: src/killall.c:798 #, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s este gol (nu este montat ?)\n" +msgid "Bad regular expression: %s\n" +msgstr "" -#: src/fuser.c:89 +#: src/killall.c:830 #, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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 "killall: Maximum number of names is %d\n" +msgstr "Numãr maxim de nume este %d\n" -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +#: 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/fuser.c:113 +#: src/peekfd.c:96 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" +msgid "Error attaching to pid %i\n" msgstr "" -#: src/fuser.c:120 +#: src/peekfd.c:104 #, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" - -#: src/fuser.c:147 -#, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" -#: src/fuser.c:283 +#: src/peekfd.c:106 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" -#: src/fuser.c:316 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat mount point %s: %s\n" +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/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/prtstat.c:54 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 -#, c-format -msgid "Cannot resolve local port %s: %s\n" -msgstr "" +#: src/prtstat.c:65 +#, fuzzy, c-format +msgid "prtstat (PSmisc) %s\n" +msgstr "pstree (psmisc) %s\n" -#: src/fuser.c:492 -#, c-format -msgid "Unknown local port AF %d\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/fuser.c:553 -#, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +#: src/prtstat.c:78 +msgid "running" msgstr "" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." +#: src/prtstat.c:80 +msgid "sleeping" msgstr "" -#: src/fuser.c:755 -msgid "Invalid namespace name" +#: src/prtstat.c:82 +msgid "disk sleep" msgstr "" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/prtstat.c:84 +msgid "zombie" msgstr "" -#: src/fuser.c:840 -msgid "No process specification given" +#: src/prtstat.c:86 +msgid "traced" msgstr "" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" +#: src/prtstat.c:88 +msgid "paging" msgstr "" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." +#: src/prtstat.c:90 +msgid "unknown" msgstr "" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +#: src/prtstat.c:164 +#, c-format +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" msgstr "" -#: src/fuser.c:901 -#, fuzzy, c-format -msgid "%*s USER PID ACCESS COMMAND\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" -"%*s UTILIZATOR PID ACCES COMANDÃ\n" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" msgstr "" -#: src/fuser.c:1019 +#: src/prtstat.c:175 #, c-format -msgid "Cannot stat file %s: %s\n" +msgid "" +"Page Faults\n" +" This Process (minor major): %8lu %8lu\n" +" Child Processes (minor major): %8lu %8lu\n" msgstr "" -#: src/fuser.c:1113 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:189 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:199 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "Terminã process %d ? (y/N) " +msgid "" +"Scheduling\n" +" Policy: %s\n" +" Nice: %ld \t\t RT Priority: %ld %s\n" +msgstr "" -#: src/fuser.c:1222 -#, c-format -msgid "Could not kill process %d: %s\n" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" msgstr "" -#: src/fuser.c:1237 +#: src/prtstat.c:226 #, c-format -msgid "Cannot open a network socket.\n" +msgid "Process with pid %d does not exist.\n" msgstr "" -#: src/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "nu pot gãsi numerele dispozitivelor socket-urilor" - -#: src/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" +msgid "Unable to open stat file for pid %d (%s)\n" msgstr "" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "pstree (psmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." msgstr "" -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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" +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" msgstr "" -#: src/pstree.c:374 -#, fuzzy, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "MAX_DEPTH nu este suficient de mare.\n" +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s este gol (nu este montat ?)\n" -#: src/pstree.c:750 +#: src/pstree.c:830 #, fuzzy, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -420,53 +528,56 @@ msgstr "" " -p afiºeazã PID-urile; implicã -c\n" " -u afiºeazã tranziþiilr uid\n" -#: src/pstree.c:768 +#: src/pstree.c:850 #, fuzzy, c-format -msgid " -Z show SELinux security contexts\n" +msgid " -Z show SELinux security contexts\n" msgstr "" " -s aratã SID-urile Flask\n" " -x aratã contextele de securitate Flask\n" -#: src/pstree.c:771 -#, fuzzy, c-format +#: 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" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this 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" -#: src/pstree.c:778 +#: src/pstree.c:859 #, fuzzy, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (psmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: 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:920 +#: 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:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "Nu a fost gãsit nici un proces.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "Apãsaþi tasta return pentru a închide\n" @@ -476,6 +587,25 @@ msgstr "Ap 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" @@ -506,8 +636,76 @@ msgstr "%s: semnal necunoscut; %s -l listeaz #~ 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 "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: specificaþie invalidã\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 index 00c0d8d..2c7d871 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 3a69aac..b1dabbc 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,90 +1,280 @@ +# translation of psmisc-22.11-pre1.ru.po to Russian # Russian Translation for psmisc files -# Copyright (C) 2002 Free Software Foundation, Inc. -# Ilya Evseev , 2005. +# 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 20.6\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2005-03-15 02:53+0300\n" -"Last-Translator: Ilya Evseev \n" -"Language-Team: woolfy \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=KOI8-R\n" -"Content-Transfer-Encoding: 8-bit\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/killall.c:74 +#: src/fuser.c:133 #, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) ÚÁ×ÅÒÛÉÔØ? (y/N) " +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/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "%s(%s%d) ÚÁ×ÅÒÛÉÔØ? (y/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/killall.c:121 +#: src/fuser.c:160 #, c-format -msgid "Cannot get UID from process status\n" +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/killall.c:147 src/killall.c:682 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "Bad regular expression: %s\n" +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/killall.c:343 +#: src/fuser.c:184 #, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "ÉÇÎÏÒÉÒÕÀ ÎÅÐÏÌÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ %s(%d)\n" +msgid "Cannot open /proc directory: %s\n" +msgstr "Не удалось открыть каталог /proc: %s\n" -#: src/killall.c:445 +#: src/fuser.c:397 src/fuser.c:450 src/fuser.c:1923 #, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) ÚÁ×ÅÒۣΠÓÉÇÎÁÌÏÍ %d\n" +msgid "Cannot allocate memory for matched proc: %s\n" +msgstr "Не удалось выделить память для проверяемого proc: %s\n" -#: src/killall.c:459 +#: src/fuser.c:478 #, c-format -msgid "%s: no process killed\n" -msgstr "%s: ÎÅ ÚÁ×ÅÒۣΠÎÉ ÏÄÉÎ ÐÒÏÃÅÓÓ\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Указанное имя файла %s не существует.\n" -#: src/killall.c:497 -#, fuzzy, c-format -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" +#: 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 "" -"óÉÎÔÁËÓÉÓ: pidof [ -eg ] ÉÍÑ-ÐÒÏÃÅÓÓÁ ...\n" -" pidof -V\n" -"\n" -" -e ÔÒÅÂÏ×ÁÔØ ÐÏÌÎÏÇÏ ÓÏ×ÐÁÄÅÎÉÑ ÄÌÑ ÏÞÅÎØ ÄÌÉÎÎÙÈ ÉÍ£Î;\n" -" ÉÇÎÏÒÉÒÏ×ÁÔØ, ÅÓÌÉ ËÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ ÎÅÄÏÓÔÕÐÎÁ\n" -" -g ÐÏËÁÚÙ×ÁÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÁ ×ÍÅÓÔÏ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ " -"ÐÒÏÃÅÓÓÁ\n" -" -V ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ ÐÒÏÇÒÁÍÍÙ\n" -"\n" +"Параметр показа всех файлов нельзя использовать вместе с параметром " +"отключения сообщений." + +#: src/fuser.c:1168 +msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" +msgstr "Нельзя выполнять поиск только по сокетам IPv4 и IPv6 одновременно" -#: src/killall.c:511 -#, fuzzy, c-format +#: 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 [-s sid] [-c context] [ -egiqvw ] [ -signal ] name ...\n" +"Использование: killall [-Z КОНТЕКСТ] [-u ПОЛЬЗОВАТЕЛЬ]\n" +" [ -eIgiqrvw ] [ -СИГНАЛ ] ИМЯ…\n" -#: src/killall.c:514 -#, fuzzy, c-format +#: src/killall.c:618 +#, c-format msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "óÉÎÔÁËÓÉÓ: killall [ OPTIONS ] [ -- ] name ...\n" +msgstr "Использование: killall [ПАРАМЕТР]… [--] ИМЯ…\n" -#: src/killall.c:517 -#, fuzzy, c-format +#: src/killall.c:621 +#, c-format msgid "" " killall -l, --list\n" " killall -V, --version\n" @@ -92,6 +282,8 @@ msgid "" " -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" @@ -103,414 +295,408 @@ msgid "" " -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" -" -s,--signal ÐÏÓÙÌÁÔØ ÕËÁÚÁÎÎÙÊ ÓÉÇÎÁÌ ×ÍÅÓÔÏ SIGTERM\n" -" -v,--verbose Õ×ÅÄÏÍÌÑÔØ Ï ÕÓÐÅÛÎÏÊ ÏÔÐÒÁ×ËÅ ÓÉÇÎÁÌÏ×\n" -" -V,--version ÐÏËÁÚÁÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ\n" -" -w,--wait ÏÖÉÄÁÔØ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÏÃÅÓÓÏ×\n" +" killall -V, --version\n" "\n" - -#: src/killall.c:533 -#, fuzzy, c-format +" -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 "" -" -d,--sid ÚÁ×ÅÒÛÁÔØ ÔÏÌØËÏ ÐÒÏÃÅÓÓÙ(Ù) Ó ÕËÁÚÁÎÎÙÍ SID\n" -" -c,--context ÚÁ×ÅÒÛÁÔØ ÔÏÌØËÏ ÐÒÏÃÅÓÓÙ(Ù) Ó ÕËÁÚÁÎÎÙÍ SCONTEXT\n" -" (-s, -c ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔ ÄÒÕÇ ÄÒÕÇÁ É ÄÏÌÖÎÙ ÂÙÔØ ÐÅÒ×ÙÍ ÁÒÇÕÍÅÎÔÏÍ)\n" +" -Z,--context РЕГВЫР завершать только процессы(ы) с подходящим контекстом\n" +" (должен указываться раньше остальных параметров)\n" "\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/killall.c:651 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"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:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:741 src/killall.c:747 +msgid "Invalid time format" +msgstr "неправильный формат времени" -#: src/killall.c:656 +#: src/killall.c:767 #, c-format msgid "Cannot find user %s\n" -msgstr "" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "ëÏÌÉÞÅÓÔ×Ï ÉͣΠÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ %d\n" +msgstr "Пользователь %s не найден\n" -#: src/killall.c:720 src/pstree.c:710 +#: src/killall.c:798 #, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s ÐÕÓÔ (ÎÅ ÓÍÏÎÔÉÒÏ×ÁÎ ?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"óÉÎÔÁËÓÉÓ: fuser [ -a | -s ] [ -n ÏÂÌÁÓÔØ ] [ -signal ] [ -kimuv ] ÉÍÑ ...\n" -" [ - ] [ -n ÏÂÌÁÓÔØ ] [ -signal ] [ -kimuv ] ÉÍÑ ...\n" -" fuser -l\n" -" fuser -V\n" -"\n" -" -a ÐÏËÁÚÙ×ÁÔØ ÔÁËÖÅ ÎÅÉÓÐÏÌØÚÕÅÍÙÅ ÆÁÊÌÙ\n" -" -f ÉÇÎÏÒÉÒÕÅÔÓÑ (ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó POSIX)\n" -" -k ÚÁ×ÅÒÛÉÔØ ÐÒÏÃÅÓÓÙ, ÏÔËÒÙ×ÛÉÅ ÄÁÎÎÙÊ ÆÁÊÌ\n" -" -i ÚÁÐÒÁÛÉ×ÁÔØ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ (ÅÓÌÉ ÕËÁÚÁÎ -k)\n" -" -l ÐÏËÁÚÁÔØ ÄÏÐÕÓÔÉÍÙÅ ÉÍÅÎÁ ÓÉÇÎÁÌÏ×\n" -" -m ÓÍÏÎÔÉÒÏ×ÁÎÎÙÅ ÆÁÊÌÏ×ÙÅ ÓÉÓÔÅÍÙ\n" -" -n ÏÂÌÁÓÔØ ÉÓËÁÔØ × ÕËÁÚÁÎÎÏÍ ÐÒÏÓÔÒÁÎÓÔ×Å ÉͣΠ(file, udp, ÉÌÉ tcp)\n" -" -s ÏÔËÌÀÞÉÔØ ÓÏÏÂÝÅÎÉÑ\n" -" -signal ÐÏÓÙÌÁÔØ ÕËÁÚÁÎÎÙÊ ÓÉÇÎÁÌ ×ÍÅÓÔÏ SIGKILL\n" -" -u ÐÏËÁÚÙ×ÁÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ (uid)\n" -" -v ×ËÌÀÞÉÔØ ÐÏÄÒÏÂÎÙÅ ÓÏÏÂÝÅÎÉÑ\n" -" -V ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ\n" -" -4 ÉÓËÁÔØ ÔÏÌØËÏ ÓÏËÅÔÙ ÓÅÍÅÊÓÔ×Á IPv4\n" -" -6 ÉÓËÁÔØ ÔÏÌØËÏ ÓÏËÅÔÙ ÓÅÍÅÊÓÔ×Á IPv6\n" -" - ÓÂÒÏÓÉÔØ ÐÒÅÄÙÄÕÝÉÅ ÏÐÃÉÉ\n" -"\n" -" éÍÅÎÁ udp/tcp: [ÌÏËÁÌØÎÙÊ_ÐÏÒÔ][,[ÕÄÁÌ£ÎÎÙÊ_ÈÏÓÔ][,[ÕÄÁÌ£ÎÎÙÊ_ÐÏÒÔ]]]\n" -"\n" +msgid "Bad regular expression: %s\n" +msgstr "Неправильное регулярное выражение: %s\n" -#: src/fuser.c:109 +#: src/killall.c:830 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "killall: Maximum number of names is %d\n" +msgstr "killall: количество имён не может превышать %d\n" -#: src/fuser.c:113 +#: src/killall.c:835 #, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, fuzzy, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" +msgid "killall: %s lacks process entries (not mounted ?)\n" +msgstr "killall: в %s нет записей о процессах (не смонтирован?)\n" -#: src/fuser.c:147 +#: src/peekfd.c:96 #, c-format -msgid "Cannot open /proc directory: %s\n" -msgstr "" +msgid "Error attaching to pid %i\n" +msgstr "Ошибка присоединения к процессу с pid %i\n" -#: src/fuser.c:283 +#: src/peekfd.c:104 #, c-format -msgid "Cannot allocate memory for matched proc: %s\n" -msgstr "" +msgid "peekfd (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/fuser.c:316 +#: src/peekfd.c:106 #, c-format -msgid "Cannot stat mount point %s: %s\n" +msgid "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" msgstr "" +"Copyright (C) 2007 Trent Waddington\n" +"\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/peekfd.c:116 #, c-format -msgid "Cannot stat %s: %s\n" +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/fuser.c:476 +#: src/prtstat.c:54 #, c-format -msgid "Cannot resolve local port %s: %s\n" +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/fuser.c:492 +#: src/prtstat.c:65 #, c-format -msgid "Unknown local port AF %d\n" -msgstr "" +msgid "prtstat (PSmisc) %s\n" +msgstr "prtstat (PSmisc) %s\n" -#: src/fuser.c:553 +#: src/prtstat.c:66 #, c-format -msgid "Cannot open protocol file \"%s\": %s\n" +msgid "" +"Copyright (C) 2009 Craig Small\n" +"\n" msgstr "" +"Copyright (C) 2009 Craig Small\n" +"\n" -#: src/fuser.c:746 -msgid "Namespace option requires an argument." -msgstr "" +#: src/prtstat.c:78 +msgid "running" +msgstr "работает" -#: src/fuser.c:755 -msgid "Invalid namespace name" -msgstr "" +#: src/prtstat.c:80 +msgid "sleeping" +msgstr "спит" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "" +#: src/prtstat.c:82 +msgid "disk sleep" +msgstr "спит из-за диска" -#: src/fuser.c:840 -msgid "No process specification given" -msgstr "" +#: src/prtstat.c:84 +msgid "zombie" +msgstr "зомби" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" +#: src/prtstat.c:86 +msgid "traced" +msgstr "трассируется" -#: src/fuser.c:852 -msgid "all option cannot be used with silent option." -msgstr "" +#: src/prtstat.c:88 +msgid "paging" +msgstr "замещает страницы" -#: src/fuser.c:856 -msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time" -msgstr "" +#: src/prtstat.c:90 +msgid "unknown" +msgstr "неизвестно" -#: src/fuser.c:901 +#: src/prtstat.c:164 #, c-format -msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" - -#: src/fuser.c:926 src/fuser.c:951 -msgid "(unknown)" +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/fuser.c:1019 +#: src/prtstat.c:169 #, c-format -msgid "Cannot stat file %s: %s\n" +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/fuser.c:1113 +#: src/prtstat.c:175 #, c-format -msgid "Cannot open /proc/net/unix: %s\n" +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/fuser.c:1149 +#: src/prtstat.c:180 #, c-format -msgid "Cannot open /etc/mtab: %s\n" +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/fuser.c:1198 +#: src/prtstat.c:189 #, c-format -msgid "Kill process %d ? (y/N) " -msgstr "úÁ×ÅÒÛÉÔØ ÐÒÏÃÅÓÓ %d ? (y/N) " - -#: src/fuser.c:1222 +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 "Could not kill process %d: %s\n" +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/fuser.c:1237 -#, c-format -msgid "Cannot open a network socket.\n" -msgstr "" +#: src/prtstat.c:221 +msgid "asprintf in print_stat failed.\n" +msgstr "asprintf в print_stat завершилась неудачно.\n" -#: src/fuser.c:1241 -#, fuzzy, c-format -msgid "Cannot find socket's device number.\n" -msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á ÓÏËÅÔÁ" +#: src/prtstat.c:226 +#, c-format +msgid "Process with pid %d does not exist.\n" +msgstr "Процесс с pid %d не существует.\n" -#: src/peekfd.c:75 +#: src/prtstat.c:228 #, c-format -msgid "Error attaching to pid %i\n" -msgstr "" +msgid "Unable to open stat file for pid %d (%s)\n" +msgstr "Не удалось открыть файл stat для pid %d (%s)\n" -#: src/peekfd.c:83 -#, fuzzy, c-format -msgid "peekfd (PSmisc) %s\n" -msgstr "fuser (psmisc) %s\n" +#: src/prtstat.c:308 +msgid "Invalid option" +msgstr "неправильный параметр" -#: src/peekfd.c:85 -#, c-format -msgid "" -"Copyright (C) 2007 Trent Waddington\n" -"\n" -msgstr "" +#: src/prtstat.c:313 +msgid "You must provide at least one PID." +msgstr "Вы должны указать не менее одного PID." -#: src/peekfd.c:95 +#: src/prtstat.c:317 #, 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 "" +msgid "/proc is not mounted, cannot stat /proc/self/stat.\n" +msgstr "/proc не смонтирован, возможно выполнить stat /proc/self/stat.\n" -#: src/pstree.c:374 -#, fuzzy, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "MAX_DEPTH ÄÏÌÖÅÎ ÂÙÔØ ÓÄÅÌÁÎ ÂÏÌØÛÅ.\n" +#: src/pstree.c:794 +#, c-format +msgid "%s is empty (not mounted ?)\n" +msgstr "%s пуст (не смонтирован?)\n" -#: src/pstree.c:750 -#, fuzzy, c-format +#: src/pstree.c:830 +#, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\n" -msgstr "" -"óÉÎÔÁËÓÉÓ: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n" -" [ -A | -G | -U ] [ pid | user]\n" -" pstree -V\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 ÐÏËÁÚÙ×ÁÔØ ÓÏÄÅÒÖÉÍÏÅ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ\n" -" -A ÉÓÐÏÌØÚÏ×ÁÔØ ÓÉÍ×ÏÌÙ ÐÓÅ×ÄÏÇÒÁÆÉËÉ ASCII ÄÌÑ ÒÉÓÏ×ÁÎÉÑ ÌÉÎÉÊ\n" -" -c ÎÅ ÓÖÉÍÁÔØ ÏÄÉÎÁËÏ×ÙÅ ÐÏÄÄÅÒÅ×ØÑ\n" -" -h ×ÙÄÅÌÑÔØ Ã×ÅÔÏÍ ÔÅËÕÝÉÊ ÐÒÏÃÅÓÓ É ÅÇÏ ÐÒÅÄËÏ×\n" -" -H pid ×ÙÄÅÌÑÔØ Ã×ÅÔÏÍ ÐÒÏÃÅÓÓ \"pid\" É ÅÇÏ ÐÒÅÄËÏ×\n" -" -G ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÒÉÓÏ×ÁÎÉÑ ÌÉÎÉÊ ÕÐÒÁ×ÌÑÀÝÉÅ ÓÉÍ×ÏÌÙ ÔÅÒÍÉÎÁÌÁ " -"VT100\n" -" -l ÎÅ ÏÂÒÅÚÁÔØ ÄÌÉÎÎÙÅ ÓÔÒÏËÉ\n" -" -n ÓÏÒÔÉÒÏ×ÁÔØ ×Ù×ÏÄ ÐÏ ÐÏÌÀ PID\n" -" -p ÐÏËÁÚÙ×ÁÔØ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÐÒÏÃÅÓÓÏ× (PIDs); ×ËÌÀÞÁÅÔ -c\n" -" -u ÐÏËÁÚÙ×ÁÔØ ÐÅÒÅÈÏÄÙ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ (uid " -"transitions)\n" - -#: src/pstree.c:768 -#, fuzzy, c-format -msgid " -Z show SELinux security contexts\n" -msgstr "" -" -s ÐÏËÁÚÁÔØ Flask SIDs\n" -" -x ÐÏËÁÚÁÔØ Flask security contexts\n" - -#: src/pstree.c:771 +" -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" +" 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:778 -#, fuzzy, c-format +#: src/pstree.c:859 +#, c-format msgid "pstree (PSmisc) %s\n" -msgstr "fuser (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:871 +#: src/pstree.c:975 #, c-format msgid "TERM is not set\n" -msgstr "ðÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ TERM ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ\n" +msgstr "Переменная окружения TERM не установлена\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" -msgstr "îÅ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ ÈÁÒÁËÔÅÒÉÓÔÉËÉ ÔÅÒÍÉÎÁÌÁ\n" +msgstr "Не удалось определить характеристики терминала\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" -msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n" +msgstr "Неизвестное имя пользователя: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" -msgstr "îÅ ÎÁÊÄÅÎÏ ÎÉ ÏÄÎÏÇÏ ÐÒÏÃÅÓÓÁ.\n" +msgstr "Не найдено ни одного процесса.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "îÁÖÍÉÔÅ Enter ÄÌÑ ×ÙÈÏÄÁ\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 "%s: SID (%s) must be numeric\n" -#~ msgstr "%s: SID (%s) ÄÏÌÖÅÎ ÂÙÔØ ÞÉÓÌÏ×ÙÍ\n" - -#~ msgid "-4 flag used but proc file %s is not readable\n" -#~ msgstr "ÕËÁÚÁÎ ÆÌÁÇ -4, ÎÏ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ proc-ÆÁÊÌ %s ÎÅÄÏÓÔÕÐÅÎ\n" - -#~ msgid "-6 flag used but proc file %s is not readable\n" -#~ msgstr "ÕËÁÚÁÎ ÆÌÁÇ -6, ÎÏ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ proc-ÆÁÊÌ %s ÎÅÄÏÓÔÕÐÅÎ\n" - -#~ msgid "kill %d" -#~ msgstr "úÁ×ÅÒÛÅÎÉÅ ÐÒÏÃÅÓÓÁ %d" - -#~ msgid "No automatic removal. Please use umount %s\n" -#~ msgstr "" -#~ "á×ÔÏÍÁÔÉÞÅÓËÏÅ ÏÔËÌÀÞÅÎÉÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ. éÓÐÏÌØÚÕÊÔÅ umount %s\n" - -#~ msgid "No automatic removal. Please use swapoff %s\n" -#~ msgstr "" -#~ "á×ÔÏÍÁÔÉÞÅÓËÏÅ ÏÔËÌÀÞÅÎÉÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ. éÓÐÏÌØÚÕÊÔÅ swapoff %s\n" - -#~ msgid "Internal error (type %d)\n" -#~ msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ (ÔÉÐ %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 "-m ÂÕÄÅÔ ÉÇÎÏÒÉÒÏ×ÁÎ × ÐÒÏÓÔÒÁÎÓÔ×Å ÉͣΠ\"%s\"\n" - -#~ msgid "%s/%s: invalid specification\n" -#~ msgstr "%s/%s: ÎÅËÏÒÒÅËÔÎÙÊ ÆÏÒÍÁÔ\n" +msgstr "%s: неизвестный сигнал; %s -l выводит список доступных сигналов.\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" +#~ "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 "" -#~ " -U ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÄÉÒÏ×ËÕ UTF-8 (Unicode) ÄÌÑ ÒÉÓÏ×ÁÎÉÑ ÌÉÎÉÊ\n" -#~ " -V ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ\n" -#~ " pid ÉÄÅÎÔÉÆÉËÁÔÏÒ ËÏÒÎÅ×ÏÇÏ ÐÒÏÃÅÓÓÁ, ÐÏ ÕÍÏÌÞÁÎÉÀ 1 (init)\n" -#~ " user ÐÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÄÅÒÅ×ØÑ Ó ËÏÒÎÅ×ÙÍÉ ÐÒÏÃÅÓÓÁÍÉ,\n" -#~ " ÐÒÉÎÁÄÌÅÖÁÝÉÍÉ ÄÁÎÎÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ\n" +#~ "Использование: pidof [ -eg ] ИМЯ…\n" +#~ " pidof -V\n" +#~ "\n" +#~ " -e требовать полного совпадения для очень длинных имён;\n" +#~ " игнорировать, если командная строка недоступна\n" +#~ " -g показывать идентификатор группы вместо идентификатора " +#~ "процесса\n" +#~ " -V показать информацию о версии\n" #~ "\n" -#~ msgid "No process references; use -v for the complete list\n" +#~ msgid "" +#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +#~ "\n" #~ msgstr "" -#~ "Keine Prozess Referenzen; verwenden Sie -v fuer die komplette Liste\n" +#~ "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/sv.gmo b/po/sv.gmo index 933e69d..012861b 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index d0824b1..96b3658 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,143 +1,105 @@ # Swedish language file for psmisc. -# Copyright (C) 2006 Free Software Foundation, Inc. -# Daniel Nylander , 2006. +# 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.2pre1\n" +"Project-Id-Version: psmisc 22.11-pre1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2006-05-04 00:08+0100\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=ISO-8859-1\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Avsluta %s(%s%d) ? (y/N) " - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Avsluta %s(%s%d) ? (y/N) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Kan inte hämta UID från processtatus\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Felaktigt reguljärt uttryck: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "hoppar över delvis matchande process: %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "Avslutade %s(%s%d) med signal %d\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: ingen process avslutad\n" - -#: src/killall.c:497 -#, c-format 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" +"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: pidof [-eg] NAMN...\n" -" pidof -V\n" -"\n" -" -e kräv exakt matchning för långa namn;\n" -" hoppa över om kommandorad är otillgänglig\n" -" -g visa processgruppens ID istället för processens ID\n" -" -V visa versionsinformation\n" +"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" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\n" msgstr "" -"Användning: killall [-Z KONTEXT] [-u ANVÄNDARE] [ -eIgiqrvw ] [ -SIGNAL ] " -"NAMN...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Användning: killall [FLAGGA]... [--] NAMN...\n" +" -4,--ipv4 sök endast bland IPv4-uttag (socket)\n" +" -6,--ipv6 sök endast bland IPv6-uttag (socket)\n" -#: src/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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" +" - nollställ flaggor\n" +"\n" +" udp/tcp-namn: [lokal_port][,[fjärrvärd][,[fjärrport]]]\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" -" -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:533 + +#: src/fuser.c:160 #, 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" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Copyright 1993-2005 Werner Almesberger och Craig Small\n" +"Copyright © 1993-2010 Werner Almesberger och Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -146,226 +108,265 @@ msgid "" "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 " +"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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Kan inte hitta användare %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Maximalt antal namn är %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s är tom (inte monterad ?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Användning: fuser [ -a | -s | -c ] [ -n UTRYMME ] [ -SIGNAL ] [ -kimuv ] " -"NAMN ...\n" -" [ - ] [ -n UTRYMME ] [ -SIGNAL ] [ -kimuv ] NAMN...\n" -" fuser -l\n" -" fuser -V\n" -"Visar vilka processer som använder angivna filer, uttag eller filsystem.\n" -"\n" -" -a visa även filer som inte används\n" -" -c monterat filsystem\n" -" -f ignorera tyst (för POSIX-kompatibilitet)\n" -" -i fråga innan process avslutas (ignoreras om -k ej används)\n" -" -k avsluta processer som använder filen\n" -" -l lista tillgängliga signalnamn\n" -" -m visa alla processer som använder namngivna filsystem\n" -" -n UTRYMME utrymme leta i specifierat namnutrymme (fil, udp, tcp)\n" -" -s tyst användning\n" -" -SIGNAL skicka denna signal istället för SIGKILL\n" -" -u visa användarid\n" -" -v informativ utskrift\n" -" -V visa versionsinformation\n" -" -4 sök bara bland IPv4-uttag (socket)\n" -" -6 sök bara bland IPv6-uttag (socket)\n" -" - nollställ flaggor\n" -"\n" -" udp/tcp-namn: [lokal_port][,[fjärrvärd][,[fjärrport]]]\n" -"\n" - -#: src/fuser.c:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 +#: src/fuser.c:184 #, c-format msgid "Cannot open /proc directory: %s\n" -msgstr "Kan inte öppna katalogen /proc: %s\n" +msgstr "Kan inte öppna katalogen /proc: %s\n" -#: src/fuser.c:283 +#: 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" +msgstr "Kan inte allokera minne för matchande proc: %s\n" -#: src/fuser.c:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Kan inte ta status på monteringspunkt %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "Angivna filnamnet %s finns inte.\n" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" -msgstr "Kan inte ta status på %s: %s\n" +msgstr "Kan inte ta status pÃ¥ %s: %s\n" -#: src/fuser.c:476 +#: src/fuser.c:618 #, c-format msgid "Cannot resolve local port %s: %s\n" -msgstr "Kan inte slå upp lokal port %s: %s\n" +msgstr "Kan inte slÃ¥ upp lokal port %s: %s\n" -#: src/fuser.c:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" -msgstr "Okänt lokal port AF %d\n" +msgstr "Okänt lokal port AF %d\n" -#: src/fuser.c:553 +#: src/fuser.c:724 #, c-format msgid "Cannot open protocol file \"%s\": %s\n" -msgstr "Kan inte öppna protokollfil \"%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:746 +#: src/fuser.c:1023 msgid "Namespace option requires an argument." -msgstr "Flagga för namnrymd kräver ett argument." +msgstr "Flagga för namnrymd kräver ett argument." -#: src/fuser.c:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" -msgstr "Ogiltigt namn för namnrymd" +msgstr "Ogiltigt namn för namnrymd" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "Du kan endast använda filer med monteringspunktflagga" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "Ingen processpecifikation angiven" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "Du kan inte använda monterade och monteringspunktflaggorna samtidigt" - -#: src/fuser.c:852 +#: 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." +msgstr "flagga för alla, -m, kan inte användas med flaggan för tyst, -s." -#: src/fuser.c:856 +#: 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" +msgstr "Du kan inte söka efter endast IPv4- och endast IPv6-uttag samtidigt" -#: src/fuser.c:901 -#, fuzzy, c-format +#: src/fuser.c:1246 +#, c-format msgid "%*s USER PID ACCESS COMMAND\n" -msgstr "" -"\n" -"%*s ANVÄNDARE PID ÅTKOMS KOMMANDO\n" +msgstr "%*s ANVÄNDARE PID ÅTKOMS KOMMANDO\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" -msgstr "(okänd)" +msgstr "(okänd)" -#: src/fuser.c:1019 +#: 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" +msgstr "Kan inte ta status pÃ¥ fil %s: %s\n" -#: src/fuser.c:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Kan inte öppna /etc/mtab: %s\n" +msgstr "Kan inte öppna /proc/net/unix: %s\n" -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " -msgstr "Avsluta process %d ? (y/N) " +msgstr "Döda process %d ? (y/N) " -#: src/fuser.c:1222 +#: src/fuser.c:1652 #, c-format msgid "Could not kill process %d: %s\n" -msgstr "Kunde inte döda process %d: %s\n" +msgstr "Kunde inte döda process %d: %s\n" -#: src/fuser.c:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" -msgstr "Kan inte öppna ett nätverksuttag.\n" +msgstr "Kan inte öppna ett nätverksuttag.\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" -msgstr "Kunde inte hitta uttagets enhetsnummer.\n" +msgstr "Kan inte hitta uttagets enhetsnummer.\n" -#: src/peekfd.c:75 +#: src/killall.c:100 #, c-format -msgid "Error attaching to pid %i\n" +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/peekfd.c:83 +#: 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 "pstree (PSmisc) %s\n" +msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" "\n" msgstr "" +"Copyright © 2007 Trent Waddington\n" +"\n" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -378,103 +379,303 @@ msgid "" "\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/pstree.c:374 +#: src/prtstat.c:180 #, c-format -msgid "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Internt fel: MAX_DEPTH är inte tillräckligt stor.\n" +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:750 +#: 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 ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 ] [ -" +"Användning: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -" "u ]\n" -" [ -A | -G | -U ] [ PID | ANVÄNDARE]\n" +" [ -A | -G | -U ] [ PID | ANVÄNDARE]\n" " pstree -V\n" -"Visar ett träd av processer.\n" +"Visa ett träd av processer.\n" "\n" -" -a visa kommandoradsargument\n" -" -A använd ASCII linjeritningstecken\n" -" -c packa inte identiska underträd\n" -" -h framhäv nuvarande process och dess förfäder\n" -" -H PID framhäv processen \"pid\" och dess förfäder\n" -" -G använd VT100 linjeritningstecken\n" -" -l klipp inte långa rader\n" -" -n sortera utskrift efter PID\n" -" -p visa PID; medför -c\n" -" -u visa uid övergångar\n" -" -U använd UTF-8 (Unicode) linjeritningstecken\n" -" -V visa versionsinformation\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z visa SELinux säkerhetskontexter\n" - -#: src/pstree.c:771 +" -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" +" 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; förvald är 1 (init)\n" -" ANVÄNDARE visa endast träd med denna användares\n" -" processer som rot.\n" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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 satt\n" +msgstr "TERM är inte inställd\n" -#: src/pstree.c:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" -msgstr "Kan inte ta reda på terminalens beskaffenhet\n" +msgstr "Kan inte ta reda pÃ¥ terminalens förmÃ¥gor\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" -msgstr "Ingen sådan användare: %s\n" +msgstr "Ingen sÃ¥dan användare: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" -msgstr "Inga processer funna.\n" +msgstr "Inga processer hittades.\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "Tryck retur för att stänga\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" +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" +#~ 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 index 064e22f..e2f0dc4 100644 Binary files a/po/vi.gmo and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po index 24bffe3..2bbf2f5 100644 --- a/po/vi.po +++ b/po/vi.po @@ -1,148 +1,111 @@ # Vietnamese translation for PSmisc. -# Copyright © 2007 Free Software Foundation, Inc. -# Clytie Siddall , 2005, 2006, 2007. -# +# 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.5\n" +"Project-Id-Version: psmisc 22.20rc1\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2007-05-31 18:04+0930\n" -"Last-Translator: Clytie Siddall \n" -"Language-Team: Vietnamese \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.6.3b1\n" +"X-Generator: LocFactoryEditor 1.8\n" +"X-Poedit-SourceCharset: utf-8\n" -#: src/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "Có buộc kết thúc %s(%s%d) không? (y/n) (có/không) " - -#: src/killall.c:77 -#, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "Có buộc kết thúc %s(%s%d) không? (y/n) (có/không) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "Không thể lấy UID từ trạng thái của tiến trình\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "Biểu thức chính quy sai: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "đang bỏ qua điều khớp bộ phần %s(%d)\n" - -#: src/killall.c:445 -#, 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:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: chÆ°a buộc kết thúc tiến trình\n" - -#: src/killall.c:497 +#: src/fuser.c:133 #, c-format 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" +"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 "" -"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" +"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" - -#: src/killall.c:511 +" -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 "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" +" -4,--ipv4 search IPv4 sockets only\n" +" -6,--ipv6 search IPv6 sockets only\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:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "Cách sá»­ dụng: killall [ TÙY_CHỌN ]... [--] TÊN...\n" +" -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/killall.c:517 +#: src/fuser.c:153 #, c-format msgid "" -" killall -l, --list\n" -" killall -V, --version\n" +" - reset options\n" +"\n" +" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\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" -" -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" +" - \tđặt lại các tùy chọ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" -" -i,--interactive \t\txin xác nhận trước khi buộc kết thúc (_tÆ°Æ¡ng " -"tác_)\n" -" -l,--list \t\t_liệ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" +" Các tên udp/tcp: [cổng_cục_bộ][,[máy_từ_xa][,[cổng_từ_xa]]]\n" "\n" -#: src/killall.c:533 +#: src/fuser.c:160 #, 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" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/killall.c:554 src/fuser.c:122 src/pstree.c:780 +#: src/fuser.c:163 #, c-format msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" -"Bản quyền © 1993-2005 Werner Almesberger và Craig Small\n" +"Tác quyền © năm 1993-2010 của Werner Almesberger và Craig Small\n" "\n" -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 +#: 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" @@ -155,213 +118,251 @@ msgstr "" "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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "Không tìm thấy người dùng %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "Số tên tối đa là %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s trống (lắp chÆ°a?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" fuser -l\n" -" fuser -V\n" -"Show which processes use the named files, sockets, or filesystems.\n" -"\n" -" -a display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\n" -msgstr "" -"Cách sá»­ dụng: fuser [ -a | -s | -c ] [ -n MIỀN ] [ -KÝ_HIỆU ] [ -kimuv ] " -"TÊN...\n" -" [ - ] [ -n MIỀN ] [ -KÝ_HIỆU ] [ -kimuv ] TÊN...\n" -" fuser -l\n" -" fuser -V\n" -"Hiển thị tiến trình nào có dùng những tập tin, ổ cắm\n" -"hay hệ thống tập tin có tên này.\n" -"\n" -" -a \tcÅ©ng hiện các tập tin không được dùng\n" -" -c \thệ thống tập tin đã lắp\n" -" -f \tbị bỏ qua im (để tÆ°Æ¡ng thích với POSIX)\n" -" -i \thỏi trước khi buộc kết thúc\n" -"\t\t\t(bị bỏ qua nếu không có tùy chọn « -k »)\n" -" -k \t_buộc kết thúc_ các tiến trình đang truy cập tập tin tên này\n" -" -l \t_liệt kê_ các tên ký hiệu sẵn sàng\n" -" -m \thiện các tiến trình đang dùng những hệ thống tập tin c\n" -" -n MIỀN \ttìm kiếm trong miền _tên_ này (file, udp, hay tcp)\n" -" -s thao tác _im_ (không xuất chi tiết)\n" -" -TÍN_HIỆU \tgởi tín hiệu này thay vào SIGKILL\n" -" -u hiện các ID của _người dùng_ (UID)\n" -" -v xuất _chi tiết_\n" -" -V hiện thông tin phiên bản\n" -" -4 chỉ tìm kiếm ổ cắm kiểu IPv4\n" -" -6 chỉ tìm kiếm ổ cắm kiểu IPv6\n" -" - \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:109 -#, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" - -#: src/fuser.c:113 -#, c-format -msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" -"\n" -msgstr "" - -#: src/fuser.c:120 -#, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" - -#: src/fuser.c:147 +#: 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:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "Không thể lấy các thông tin về điểm lắp %s: %s\n" +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:333 src/fuser.c:352 src/fuser.c:375 +#: 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:476 +#: 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:492 +#: 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:553 +#: 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" +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:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "Tên miền tên không hợp lệ" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" -msgstr "Bạn có thể sá»­ dụng chỉ tập tin với tùy chọn điểm lắp" +#: 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:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "ChÆ°a nhập đặc tả tiến trình" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "" -"Không cho phép bạn sá»­ dụng cờ kiểu cả « được lắp » lẫn « điểm lắp » đều" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." -msgstr "không cho phép bạn sá»­ dụng chọn « tất cả » với tùy chọn « im »." +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:856 +#: 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:901 +#: 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" +msgstr "%*s NGƯỜI_DÙNG PID TRUY_CẬP LỆNH\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(không biết)" -#: src/fuser.c:1019 +#: 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:1113 +#: 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:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "Không thể mở : %s\n" - -#: src/fuser.c:1198 +#: 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) " +msgstr "Có buộc kết thúc tiến trình %d không? (y/N) (có/không) " -#: src/fuser.c:1222 +#: 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:1237 +#: 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:1241 +#: 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/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, c-format msgid "peekfd (PSmisc) %s\n" msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" @@ -370,7 +371,7 @@ msgstr "" "Tác quyền © năm 2007 của Trent Waddington\n" "\n" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -393,99 +394,302 @@ msgstr "" "\n" " Bấm tổ hợp phím CTRL-C để thôi xuất.\n" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "Lỗi nội bộ : « MAX_DEPTH » (độ sâu tối đa) chÆ°a đủ.\n" +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/pstree.c:750 +#: 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 ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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 "" -"Cách sá»­ dụng: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -" -"u ]\n" +"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 một cây tiến trình.\n" +"Hiển thị các tiến trình ở dạng cây.\n" "\n" -" -a \thiện các _đối số_ dòng lệnh\n" -" -A \tsá»­ dụng các ký tá»± vẽ đờng kiểu _ASCII_\n" -" -c \tkhông _gọn_ phụ cây trùng\n" -" -h \t_nổi bật_ tiến trình hiện có và các tổ tiên của nó\n" -" -H PID\t\t_nổi bật_ tiến trình này và các tổ tiên của nó\n" -" -G \tsá»­ dụng các ký tá»± vẽ dòng kiểu VT100\n" -" -l \tkhông chặt cụt _dòng dài_\n" -" -n \tsắp xếp kết xuất theo PID\n" -" -p \thiện các PID; ngụ ý tùy chọn « -c »\n" -" -u\thiện các việc chuyển tiếp _UID\n" -" -U\tsá»­ dụng các ký tá»± vẽ dòng UTF-8\n" -" -V\thiện thông tin _phiên bản_\n" - -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" -msgstr " -Z hiện các ngữ cảnh bảo mật kiểu SELinux\n" - -#: src/pstree.c:771 +" -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" +" PID start at this PID; default is 1 (init)\n" +" USER show only trees rooted at processes of this user\n" "\n" msgstr "" -" PID \tbắt đầu tại PID này; mặc định là 1 (init)\n" -" USER hiện chỉ các cây có gốc là tiến trình của _người dùng_ này\n" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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 lặp TERM\n" +msgstr "ChÆ°a đặt TERM\n" -#: src/pstree.c:876 +#: 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:920 +#: 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:936 +#: 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:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" -msgstr "Hãy bấm phím Return để đóng\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 biết tín hiệu; lệnh « %s -l » liệt kê các tín hiệu\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 index 6b87a0f..79f48a2 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index e382426..25fe07b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,187 +6,40 @@ # msgid "" msgstr "" -"Project-Id-Version: psmisc 22.5\n" +"Project-Id-Version: psmisc 22.6\n" "Report-Msgid-Bugs-To: csmall@small.dropbear.id.au\n" -"POT-Creation-Date: 2007-11-04 17:27+1100\n" -"PO-Revision-Date: 2007-06-21 14:33+0800\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-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/killall.c:74 -#, c-format -msgid "Kill %s(%s%d) ? (y/N) " -msgstr "杀死 %s(%s%d) ? (y/N) " - -#: src/killall.c:77 +#: src/fuser.c:133 #, fuzzy, c-format -msgid "Signal %s(%s%d) ? (y/N) " -msgstr "杀死 %s(%s%d) ? (y/N) " - -#: src/killall.c:121 -#, c-format -msgid "Cannot get UID from process status\n" -msgstr "无法从进程状态获取用户ID(UID)\n" - -#: src/killall.c:147 src/killall.c:682 -#, c-format -msgid "Bad regular expression: %s\n" -msgstr "错误的正则表达式: %s\n" - -#: src/killall.c:343 -#, c-format -msgid "skipping partial match %s(%d)\n" -msgstr "跳过部分符合的部分 %s(%d)\n" - -#: src/killall.c:445 -#, c-format -msgid "Killed %s(%s%d) with signal %d\n" -msgstr "%s(%s%d) 被信号 %d 杀死\n" - -#: src/killall.c:459 -#, c-format -msgid "%s: no process killed\n" -msgstr "%s: 没有进程被杀死\n" - -#: src/killall.c:497 -#, c-format -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" - -#: src/killall.c:511 -#, c-format -msgid "" -"Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n" -msgstr "" -"Usage: killall [-Z 上下文] [-u 用户名] [ -eIgiqrvw ] [ -信号 ] 程序名...\n" - -#: src/killall.c:514 -#, c-format -msgid "Usage: killall [OPTION]... [--] NAME...\n" -msgstr "用法: killall [选项]... [--] 进程名...\n" - -#: src/killall.c:517 -#, 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" -" -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:533 -#, 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:554 src/fuser.c:122 src/pstree.c:780 -#, c-format -msgid "" -"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n" -"\n" -msgstr "" -"版权所有 © 1993-2005 Werner Almesberger 和 Craig Small\n" -"\n" - -#: src/killall.c:556 src/fuser.c:124 src/peekfd.c:87 src/pstree.c:782 -#, 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/killall.c:656 -#, c-format -msgid "Cannot find user %s\n" -msgstr "无法找到用户 %s\n" - -#: src/killall.c:715 -#, c-format -msgid "Maximum number of names is %d\n" -msgstr "最大名字数量是 %d\n" - -#: src/killall.c:720 src/pstree.c:710 -#, c-format -msgid "%s is empty (not mounted ?)\n" -msgstr "%s 是空的 (未挂载?)\n" - -#: src/fuser.c:89 -#, fuzzy, c-format -msgid "" -"Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" -" [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" +"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 display unused files too\n" -" -c mounted FS\n" -" -f silently ignored (for POSIX compatibility)\n" -" -i ask before killing (ignored without -k)\n" -" -k kill processes accessing the named file\n" -" -l list available signal names\n" -" -m show all processes using the named filesystems\n" -" -n SPACE search in this name space (file, udp, or tcp)\n" -" -s silent operation\n" -" -SIGNAL send this signal instead of SIGKILL\n" -" -u display user IDs\n" -" -v verbose output\n" -" -V display version information\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" @@ -207,152 +60,297 @@ msgstr "" " -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:109 +#: src/fuser.c:160 #, c-format -msgid "" -" -4 search IPv4 sockets only\n" -" -6 search IPv6 sockets only\n" -msgstr "" +msgid "fuser (PSmisc) %s\n" +msgstr "fuser (PSmisc) %s\n" -#: src/fuser.c:113 -#, c-format +#: src/fuser.c:163 +#, fuzzy, c-format msgid "" -" - reset options\n" -"\n" -" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n" +"Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n" "\n" msgstr "" +"版权所有 © 1993-2005 Werner Almesberger 和 Craig Small\n" +"\n" -#: src/fuser.c:120 +#: src/fuser.c:165 src/killall.c:653 src/peekfd.c:108 src/prtstat.c:68 +#: src/pstree.c:864 #, c-format -msgid "fuser (PSmisc) %s\n" -msgstr "fuser (PSmisc) %s\n" +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:147 +#: src/fuser.c:184 #, c-format msgid "Cannot open /proc directory: %s\n" msgstr "无法打开 /proc 目录: %s\n" -#: src/fuser.c:283 +#: 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:316 +#: src/fuser.c:478 #, c-format -msgid "Cannot stat mount point %s: %s\n" -msgstr "无法分析挂载点 %s: %s\n" +msgid "Specified filename %s does not exist.\n" +msgstr "" -#: src/fuser.c:333 src/fuser.c:352 src/fuser.c:375 +#: src/fuser.c:481 #, c-format msgid "Cannot stat %s: %s\n" msgstr "无法分析 %s: %s\n" -#: src/fuser.c:476 +#: src/fuser.c:618 #, c-format msgid "Cannot resolve local port %s: %s\n" msgstr "无法解析本地端口 %s: %s\n" -#: src/fuser.c:492 +#: src/fuser.c:636 #, c-format msgid "Unknown local port AF %d\n" msgstr "未知本地端口 AF %d\n" -#: src/fuser.c:553 +#: src/fuser.c:724 #, c-format msgid "Cannot open protocol file \"%s\": %s\n" msgstr "无法打开协议文件 \"%s\": %s\n" -#: src/fuser.c:746 +#: 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:755 +#: src/fuser.c:1041 msgid "Invalid namespace name" msgstr "无效的名字空间名" -#: src/fuser.c:811 -msgid "You can only use files with mountpoint option" +#: src/fuser.c:1102 +#, fuzzy +msgid "You can only use files with mountpoint options" msgstr "你只能使用有挂载选项的文件。" -#: src/fuser.c:840 +#: src/fuser.c:1156 msgid "No process specification given" msgstr "未指定进程" -#: src/fuser.c:845 -msgid "You cannot use the mounted and mountpoint flags together" -msgstr "你不能同时是用已挂载和挂载点选项" - -#: src/fuser.c:852 +#: src/fuser.c:1163 msgid "all option cannot be used with silent option." msgstr "所有选项都不能与不输出信息选项同时使用。" -#: src/fuser.c:856 +#: 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:901 +#: src/fuser.c:1246 #, c-format msgid "%*s USER PID ACCESS COMMAND\n" msgstr "%*s 用户 进程号 权限 命令\n" -#: src/fuser.c:926 src/fuser.c:951 +#: src/fuser.c:1279 src/fuser.c:1336 msgid "(unknown)" msgstr "(未知)" -#: src/fuser.c:1019 +#: src/fuser.c:1415 src/fuser.c:1454 #, c-format msgid "Cannot stat file %s: %s\n" msgstr "无法获取 %s 的文件状态: %s\n" -#: src/fuser.c:1113 +#: src/fuser.c:1540 #, c-format msgid "Cannot open /proc/net/unix: %s\n" msgstr "无法打开 /proc/net/unix: %s\n" -#: src/fuser.c:1149 -#, c-format -msgid "Cannot open /etc/mtab: %s\n" -msgstr "无法打开 /etc/mtab: %s\n" - -#: src/fuser.c:1198 +#: src/fuser.c:1616 #, c-format msgid "Kill process %d ? (y/N) " msgstr "杀死进程 %d ? (y/N) " -#: src/fuser.c:1222 +#: src/fuser.c:1652 #, c-format msgid "Could not kill process %d: %s\n" msgstr "无法杀死进程 %d: %s\n" -#: src/fuser.c:1237 +#: src/fuser.c:1667 #, c-format msgid "Cannot open a network socket.\n" msgstr "无法打开网络端口。\n" -#: src/fuser.c:1241 +#: src/fuser.c:1671 #, c-format msgid "Cannot find socket's device number.\n" msgstr "无法找到 socket 的设备号。\n" -#: src/peekfd.c:75 +#: 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:83 +#: src/peekfd.c:104 #, c-format msgid "peekfd (PSmisc) %s\n" msgstr "peekfd (PSmisc) %s\n" -#: src/peekfd.c:85 +#: src/peekfd.c:106 #, c-format msgid "" "Copyright (C) 2007 Trent Waddington\n" @@ -361,7 +359,7 @@ msgstr "" "版权所有 © 2007 Trent Waddington\n" "\n" -#: src/peekfd.c:95 +#: src/peekfd.c:116 #, c-format msgid "" "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] [ ..]\n" @@ -384,31 +382,167 @@ msgstr "" "\n" " 输入 CTRL-C 来终止输出。\n" -#: src/pstree.c:374 +#: 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 "Internal error: MAX_DEPTH not big enough.\n" -msgstr "内部错误: MAX_DEPTH 不够大。\n" +msgid "" +"Process: %-14s\t\tState: %c (%s)\n" +" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n" +msgstr "" -#: src/pstree.c:750 +#: src/prtstat.c:169 #, c-format msgid "" -"Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" +"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 show command line arguments\n" -" -A use ASCII line drawing characters\n" -" -c don't compact identical subtrees\n" -" -h highlight current process and its ancestors\n" -" -H PID highlight this process and its ancestors\n" -" -G use VT100 line drawing characters\n" -" -l don't truncate long lines\n" -" -n sort output by PID\n" -" -p show PIDs; implies -c\n" -" -u show uid transitions\n" -" -U use UTF-8 (Unicode) line drawing characters\n" -" -V display version information\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" @@ -428,48 +562,57 @@ msgstr "" " -U 使用 UTF-8 (Unicode) 划线符\n" " -V 显示版本信息\n" -#: src/pstree.c:768 -#, c-format -msgid " -Z show SELinux security contexts\n" +#: src/pstree.c:850 +#, fuzzy, c-format +msgid " -Z show SELinux security contexts\n" msgstr " -Z 显示 SELinux 安全环境\n" -#: src/pstree.c:771 -#, c-format +#: 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" +" 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:778 +#: src/pstree.c:859 #, c-format msgid "pstree (PSmisc) %s\n" msgstr "pstree (PSmisc) %s\n" -#: src/pstree.c:871 +#: 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:876 +#: src/pstree.c:979 #, c-format msgid "Can't get terminal capabilities\n" msgstr "无法获取终端大小\n" -#: src/pstree.c:920 +#: src/pstree.c:1030 #, c-format msgid "No such user name: %s\n" msgstr "无用户名: %s\n" -#: src/pstree.c:936 +#: src/pstree.c:1053 #, c-format msgid "No processes found.\n" msgstr "未发现进程。\n" -#: src/pstree.c:941 +#: src/pstree.c:1059 #, c-format msgid "Press return to close\n" msgstr "按回车后关闭\n" @@ -478,3 +621,34 @@ msgstr "按回车后关闭\n" #, 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 index 8eb661b..9d6f777 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,10 @@ -AM_CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\" +AM_CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\" @HARDEN_CFLAGS@ -bin_PROGRAMS = fuser killall pstree oldfuser +bin_PROGRAMS = killall pstree prtstat +if WANT_FUSER + bin_PROGRAMS += fuser +endif if WANT_PEEKFD_I386 bin_PROGRAMS += peekfd AM_CFLAGS += -DI386 @@ -14,20 +17,35 @@ 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 -oldfuser_SOURCES = oldfuser.c comm.h signals.c signals.h loop.h i18n.h +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_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h +fuser_LDADD = @LIBINTL@ killall_SOURCES = killall.c comm.h signals.c signals.h i18n.h -killall_LDADD = @SELINUX_LIB@ +killall_LDADD = @LIBINTL@ @SELINUX_LIB@ peekfd_SOURCES = peekfd.c pstree_SOURCES = pstree.c comm.h i18n.h -pstree_LDADD = @TERMCAP_LIB@ @SELINUX_LIB@ +pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@ + +prtstat_SOURCES = prtstat.c prtstat.h + +prtstat_LDADD = @LIBINTL@ BUILT_SOURCES = signames.h @@ -39,7 +57,7 @@ signames.h: signames.c Makefile export LC_ALL=C ; \ @CPP@ -dM $< |\ tr -s '\t ' ' ' | sort -n -k 3 | sed \ - 's:#define SIG\([A-Z]\+[0-9]*\) \([0-9]\+\) *\(\|/\*.*\)$$:{\ \2,"\1" },:p;d' | \ + '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 || \ diff --git a/src/Makefile.in b/src/Makefile.in index e35b5a2..5b2604c 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -15,9 +16,27 @@ @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@ -pkglibdir = $(libdir)/@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 @@ -32,15 +51,22 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -bin_PROGRAMS = fuser$(EXEEXT) killall$(EXEEXT) pstree$(EXEEXT) \ - oldfuser$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \ - $(am__EXEEXT_3) -@WANT_PEEKFD_I386_TRUE@am__append_1 = peekfd -@WANT_PEEKFD_I386_TRUE@am__append_2 = -DI386 -@WANT_PEEKFD_X86_64_TRUE@am__append_3 = peekfd -@WANT_PEEKFD_X86_64_TRUE@am__append_4 = -DX86_64 -@WANT_PEEKFD_PPC_TRUE@am__append_5 = peekfd -@WANT_PEEKFD_PPC_TRUE@am__append_6 = -DPPC +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 @@ -51,41 +77,53 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = -@WANT_PEEKFD_I386_TRUE@am__EXEEXT_1 = peekfd$(EXEEXT) -@WANT_PEEKFD_X86_64_TRUE@am__EXEEXT_2 = peekfd$(EXEEXT) -@WANT_PEEKFD_PPC_TRUE@am__EXEEXT_3 = peekfd$(EXEEXT) +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)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) -am_fuser_OBJECTS = fuser.$(OBJEXT) signals.$(OBJEXT) +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_LDADD = $(LDADD) +fuser_DEPENDENCIES = am_killall_OBJECTS = killall.$(OBJEXT) signals.$(OBJEXT) killall_OBJECTS = $(am_killall_OBJECTS) killall_DEPENDENCIES = -am_oldfuser_OBJECTS = oldfuser.$(OBJEXT) signals.$(OBJEXT) -oldfuser_OBJECTS = $(am_oldfuser_OBJECTS) -oldfuser_LDADD = $(LDADD) 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. -I$(top_builddir)@am__isrc@ +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) $(oldfuser_SOURCES) \ - $(peekfd_SOURCES) $(pstree_SOURCES) -DIST_SOURCES = $(fuser_SOURCES) $(killall_SOURCES) $(oldfuser_SOURCES) \ - $(peekfd_SOURCES) $(pstree_SOURCES) +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) @@ -100,11 +138,9 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ +DEJAGNU = @DEJAGNU@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ @@ -114,6 +150,7 @@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ +HARDEN_CFLAGS = @HARDEN_CFLAGS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -141,6 +178,7 @@ 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@ @@ -153,6 +191,7 @@ 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@ @@ -160,7 +199,6 @@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -202,18 +240,27 @@ 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\" $(am__append_2) \ - $(am__append_4) $(am__append_6) -oldfuser_SOURCES = oldfuser.c comm.h signals.c signals.h loop.h i18n.h -fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h +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 = @SELINUX_LIB@ +killall_LDADD = @LIBINTL@ @SELINUX_LIB@ peekfd_SOURCES = peekfd.c pstree_SOURCES = pstree.c comm.h i18n.h -pstree_LDADD = @TERMCAP_LIB@ @SELINUX_LIB@ +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 @@ -226,14 +273,14 @@ $(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 \ - && exit 0; \ + ( 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'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + 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 \ @@ -251,42 +298,60 @@ $(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) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done + @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)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done + @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) +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) +killall$(EXEEXT): $(killall_OBJECTS) $(killall_DEPENDENCIES) $(EXTRA_killall_DEPENDENCIES) @rm -f killall$(EXEEXT) $(LINK) $(killall_OBJECTS) $(killall_LDADD) $(LIBS) -oldfuser$(EXEEXT): $(oldfuser_OBJECTS) $(oldfuser_DEPENDENCIES) - @rm -f oldfuser$(EXEEXT) - $(LINK) $(oldfuser_OBJECTS) $(oldfuser_LDADD) $(LIBS) -peekfd$(EXEEXT): $(peekfd_OBJECTS) $(peekfd_DEPENDENCIES) +peekfd$(EXEEXT): $(peekfd_OBJECTS) $(peekfd_DEPENDENCIES) $(EXTRA_peekfd_DEPENDENCIES) @rm -f peekfd$(EXEEXT) $(LINK) $(peekfd_OBJECTS) $(peekfd_LDADD) $(LIBS) -pstree$(EXEEXT): $(pstree_OBJECTS) $(pstree_DEPENDENCIES) +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) @@ -298,21 +363,22 @@ distclean-compile: @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)/oldfuser.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@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@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@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@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) '$<'` @@ -322,45 +388,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(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) - tags=; \ + 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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + $(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; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + 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) - tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + $(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) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -381,13 +451,17 @@ distdir: $(DISTFILES) 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 -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -410,10 +484,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + 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: @@ -421,6 +500,7 @@ 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" @@ -442,6 +522,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -450,20 +532,29 @@ 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 @@ -485,7 +576,7 @@ ps-am: uninstall-am: uninstall-binPROGRAMS -.MAKE: install-am install-exec-am install-strip +.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 \ @@ -505,7 +596,7 @@ signames.h: signames.c Makefile export LC_ALL=C ; \ @CPP@ -dM $< |\ tr -s '\t ' ' ' | sort -n -k 3 | sed \ - 's:#define SIG\([A-Z]\+[0-9]*\) \([0-9]\+\) *\(\|/\*.*\)$$:{\ \2,"\1" },:p;d' | \ + '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 || \ @@ -514,6 +605,7 @@ signames.h: signames.c Makefile 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 index 956383d..f248a43 100644 --- a/src/comm.h +++ b/src/comm.h @@ -1,18 +1,36 @@ -/* comm.h - command name length definition */ - -/* Copyright 1995 Werner Almesberger. See file COPYING for details. */ - +/* + * 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 -#if 0 /* broken in 1.3.xx */ -#include -#define COMM_LEN sizeof(dummy.comm) -extern struct task_struct dummy; -#else -#define COMM_LEN 16 /* synchronize with size of comm in struct task_struct in - /usr/include/linux/sched.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 index b88b7a8..ece61d4 100644 --- a/src/fuser.c +++ b/src/fuser.c @@ -4,7 +4,7 @@ * Based on fuser.c Copyright (C) 1993-2005 Werner Almesberger and Craig Small * * Completely re-written - * Copyright (C) 2005-2007 Craig Small + * 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 @@ -32,9 +32,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -45,111 +47,159 @@ #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 NFS_CHECKS -*/ +//#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 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); -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 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 void 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 scan_mount_devices(const opt_type opts, struct mountdev_list **mount_devices); +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); -#ifdef NFS_CHECKS -static void scan_knfsd(struct names *names_head, struct device_list *dev_head); -#endif /* NFS_CHECKS */ +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); +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); -static void usage (const char *errormsg) +#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 [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" - " [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" - " fuser -l\n" - " fuser -V\n" - "Show which processes use the named files, sockets, or filesystems.\n\n" - " -a display unused files too\n" - " -c mounted FS\n" - " -f silently ignored (for POSIX compatibility)\n" - " -i ask before killing (ignored without -k)\n" - " -k kill processes accessing the named file\n" - " -l list available signal names\n" - " -m show all processes using the named filesystems\n" - " -n SPACE search in this name space (file, udp, or tcp)\n" - " -s silent operation\n" - " -SIGNAL send this signal instead of SIGKILL\n" - " -u display user IDs\n" - " -v verbose output\n" - " -V display version information\n")); + 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 search IPv4 sockets only\n" - " -6 search IPv6 sockets only\n")); + 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); + 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-2005 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")); + 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) +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; - char *fd_dirpath, *fd_pathname; struct inode_list *ino_tmp; struct device_list *dev_tmp; pid_t pid, my_pid; uid_t uid; - struct stat *cwd_stat, *exe_stat, *root_stat; - - if ( (fd_dirpath = malloc(MAX_PATHNAME)) == NULL) - return; - if ( (fd_pathname = malloc(MAX_PATHNAME)) == NULL) - return; - if ( (topproc_dir = opendir("/proc")) == NULL) { - fprintf(stderr, _("Cannot open /proc directory: %s\n"), strerror(errno)); + 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) { - if (topproc_dent->d_name[0] < '0' || topproc_dent->d_name[0] > '9') /* Not a process */ + 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 */ @@ -157,52 +207,104 @@ static void scan_procs(struct names *names_head, struct inode_list *ino_head, st continue; uid = getpiduid(pid); - root_stat = get_pidstat(pid, "root"); +#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_stat != NULL && exe_stat->st_dev == dev_tmp->device) - add_matched_proc(dev_tmp->name, pid, uid, ACCESS_EXE); - if (root_stat != NULL && root_stat->st_dev == dev_tmp->device) - add_matched_proc(dev_tmp->name, pid, uid, ACCESS_ROOT); - if (cwd_stat != NULL && cwd_stat->st_dev == dev_tmp->device) - add_matched_proc(dev_tmp->name, pid, uid, ACCESS_CWD); + 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_stat != NULL) { - if (exe_stat->st_dev == ino_tmp->device && exe_stat->st_ino == ino_tmp->inode) { - add_matched_proc(ino_tmp->name, pid, uid, ACCESS_EXE); - } + 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_stat != NULL) { - if (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 (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_stat != NULL){ - if (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 (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); } } - check_dir(pid, "lib", dev_head, ino_head, uid, ACCESS_MMAP); - check_dir(pid, "mmap", dev_head, ino_head, uid, ACCESS_MMAP); - check_dir(pid, "fd", dev_head, ino_head, uid, ACCESS_FILE); + 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 */ + } /* 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) + +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; - ino_head = *ino_list; - - if ( (ino_tmp = malloc(sizeof(struct inode_list))) == NULL) + 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; @@ -210,29 +312,37 @@ static void add_inode(struct inode_list **ino_list, struct names *this_name, de *ino_list = ino_tmp; } -static void add_device(struct device_list **dev_list, struct names *this_name, dev_t device) +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 */ - /*printf("Adding device %s %d\n", this_name->filename, device);*/ - dev_head = *dev_list; - - if ( (dev_tmp = malloc(sizeof(struct device_list))) == NULL) + 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) +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; - ip_head = *ip_list; - - if ( (ip_tmp = malloc(sizeof(struct ip_connections))) == NULL) + 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; @@ -243,25 +353,32 @@ static void add_ip_conn(struct ip_connections **ip_list, const char *protocol, s } #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) +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; - ip_head = *ip_list; - - if ( (ip_tmp = malloc(sizeof(struct ip6_connections))) == NULL) + 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)); + memcpy(&(ip_tmp->rmt_address), &(rmt_address), sizeof(struct in6_addr)); ip_tmp->next = ip_head; *ip_list = ip_tmp; } #endif -static void add_matched_proc(struct names *name_list, const pid_t pid, const uid_t uid, const char access) +/* 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; @@ -270,8 +387,7 @@ static void add_matched_proc(struct names *name_list, const pid_t pid, const uid FILE *fp; last_proc = NULL; - for (pptr = name_list->matched_procs; pptr != NULL ; pptr = pptr->next) - { + for (pptr = name_list->matched_procs; pptr != NULL; pptr = pptr->next) { last_proc = pptr; if (pptr->pid == pid) { pptr->access |= access; @@ -279,26 +395,35 @@ static void add_matched_proc(struct names *name_list, const pid_t pid, const uid } } /* Not found */ - if ( (pptr = malloc(sizeof (struct procs))) == NULL) { - fprintf(stderr,_("Cannot allocate memory for matched proc: %s\n"), strerror(errno)); + 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; - if ( (asprintf(&pathname, "/proc/%d/stat", pid) > 0) && - ( (fp = fopen(pathname, "r")) != NULL) && - ( fscanf(fp, "%*d (%100[^)]", cmdname) == 1)) - if ( (pptr->command = malloc(MAX_CMDNAME+1)) != 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++) { + 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); + else if (cmdlen < (MAX_CMDNAME - 4)) + cmdlen += + sprintf(&(pptr->command[cmdlen]), + "\\%03o", *cptr); } pptr->command[cmdlen] = '\0'; } @@ -306,92 +431,108 @@ static void add_matched_proc(struct names *name_list, const pid_t pid, const uid name_list->matched_procs = pptr; else last_proc->next = pptr; + if (pathname) + free(pathname); + if (fp) + fclose(fp); } -int parse_mount(struct names *this_name, struct device_list **dev_list) +/* 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 stat st; + struct procs *pptr; - if (stat(this_name->filename, &st) != 0) { - fprintf(stderr, _("Cannot stat mount point %s: %s\n"), - this_name->filename, - strerror(errno)); - exit(1); + for (pptr = name_list->matched_procs; pptr != NULL; pptr = pptr->next) { + if (pptr->proc_type == ptype) + return; } -#ifdef DEBUG - printf("Debug: parse_mount() adding %s\n", this_name->filename); -#endif /* DEBUG */ - add_device(dev_list, this_name, st.st_dev); - return 0; + 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) +int parse_file(struct names *this_name, struct inode_list **ino_list, + const char opts) { - struct stat st; + char *new = expandpath(this_name->filename); + if (new) { + if (this_name->filename) + free(this_name->filename); + this_name->filename = strdup(new); + } - if (stat(this_name->filename, &st) != 0) { - fprintf(stderr,_("Cannot stat %s: %s\n"), this_name->filename, - strerror(errno)); + 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)st.st_dev, (unsigned long)st.st_ino); -#endif /* DEBUG */ - add_inode(ino_list, this_name, st.st_dev, st.st_ino); + (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) +int +parse_unixsockets(struct names *this_name, struct inode_list **ino_list, + struct unixsocket_list *sun_head) { struct unixsocket_list *sun_tmp; - struct stat st; - dev_t net_dev; - - if (stat(this_name->filename, &st) != 0) { - fprintf(stderr,_("Cannot stat %s: %s\n"), this_name->filename, - strerror(errno)); - return -1; - } - net_dev = find_net_dev(); + 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 == st.st_dev && sun_tmp->inode == st.st_ino) { - add_inode(ino_list, this_name, net_dev, sun_tmp->net_inode); - return 0; + 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 mountdev_list *mounts, struct device_list **dev_list, const char opts) +int +parse_mounts(struct names *this_name, struct device_list **dev_list, + const char opts) { - struct stat st; - struct mountdev_list *mountptr; dev_t match_device; - if (stat(this_name->filename, &st) != 0) { - fprintf(stderr,_("Cannot stat %s: %s\n"), this_name->filename, - strerror(errno)); - return -1; - } - if (S_ISBLK(st.st_mode)) - match_device = st.st_rdev; + if (S_ISBLK(this_name->st.st_mode)) + match_device = this_name->st.st_rdev; else - match_device = st.st_dev; - for (mountptr = mounts ; mountptr != NULL ; mountptr = mountptr->next) { - if (mountptr->device == match_device) { - /*printf("Debug: adding parse_mounts() adding %s\n", - this_name->filename);*/ - add_device(dev_list, this_name, match_device); - } - } + 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) +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 @@ -408,19 +549,21 @@ int parse_inet(struct names *this_name, struct ip_connections **ip_list) char hostspec[100]; char *protocol; int i; - - if ( (protocol = strchr(this_name->filename, '/')) == NULL) + + 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++) + 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) { + if ((tmpstr = strchr(hostspec, ',')) == NULL) { /* Single option */ lcl_port_str = strdup(hostspec); } else { @@ -432,7 +575,7 @@ int parse_inet(struct names *this_name, struct ip_connections **ip_list) } tmpstr++; if (*tmpstr != '\0') { - if ( (tmpstr2 = strchr(tmpstr, ',')) == NULL) { + if ((tmpstr2 = strchr(tmpstr, ',')) == NULL) { /* Only 2 options */ rmt_addr_str = tmpstr; } else { @@ -449,7 +592,8 @@ int parse_inet(struct names *this_name, struct ip_connections **ip_list) } } #ifdef DEBUG - printf("parsed to lp %s rh %s rp %s\n", lcl_port_str, rmt_addr_str, rmt_port_str); + 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)); @@ -457,9 +601,9 @@ int parse_inet(struct names *this_name, struct ip_connections **ip_list) if (ipv6_only) { hints.ai_family = PF_INET6; } else if (ipv4_only) { - hints.ai_family = PF_INET; - } else - hints.ai_family = PF_UNSPEC; + hints.ai_family = PF_INET; + } else + hints.ai_family = PF_UNSPEC; #else hints.ai_family = PF_INET; #endif @@ -472,72 +616,102 @@ int parse_inet(struct names *this_name, struct ip_connections **ip_list) lcl_port = 0; } else { /* Resolve local port first */ - if ( (errcode = getaddrinfo(NULL, lcl_port_str, &hints, &res)) != 0) { + 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)); + 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; + 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; + 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; + 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); + 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); + 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); - } + 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); - } + 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 */ + } /*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) +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]; @@ -546,51 +720,60 @@ void find_net_sockets(struct inode_list **ino_list, struct ip_connections *conn_ ino_t inode; struct ip_connections *conn_tmp; - if (snprintf(pathname,200, "/proc/net/%s", protocol) < 0) - return ; + 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)); + 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) + 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 */ + 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) { + 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); + 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)) - ) { + 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); + printf("Added inode!\n"); +#endif /* DEBUG */ + add_inode(ino_list, conn_tmp->name, netdev, + inode); } } - } - return ; + 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) +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]; @@ -598,30 +781,26 @@ void find_net6_sockets(struct inode_list **ino_list, struct ip6_connections *con struct in6_addr rmt_addr; unsigned int tmp_addr[4]; char rmt_addr6str[INET6_ADDRSTRLEN]; - struct ip6_connections *head, *tmpptr, *tail; struct ip6_connections *conn_tmp; unsigned long scanned_inode; ino_t inode; - head = tmpptr = tail = NULL; - - if (snprintf(pathname,200, "/proc/net/%s6", protocol) < 0) - return ; + if (snprintf(pathname, 200, "/proc/net/%s6", protocol) < 0) + return; - if ( (fp = fopen(pathname, "r")) == NULL) { + if ((fp = fopen(pathname, "r")) == NULL) { #ifdef DEBUG - printf("Cannot open protocol file \"%s\": %s\n", pathname, strerror(errno)); -#endif /* DEBUG */ - return ; + 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) + 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]; @@ -630,39 +809,95 @@ void find_net6_sockets(struct inode_list **ino_list, struct ip6_connections *con 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); + 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); + 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; + opt_type opts; int sig_number; #ifdef WITH_IPV6 int ipv4_only, ipv6_only; #endif unsigned char default_namespace = NAMESPACE_FILE; - struct mountdev_list *mount_devices = NULL; 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; @@ -673,9 +908,33 @@ int main(int argc, char *argv[]) #endif struct inode_list *match_inodes = NULL; struct names *names_head, *this_name, *names_tail; - int optc; - char *option; + 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; @@ -692,22 +951,38 @@ int main(int argc, char *argv[]) #endif netdev = find_net_dev(); - scan_mount_devices(opts, &mount_devices); +#ifndef __CYGWIN__ /* Cygwin doesn't support /proc/net/unix */ fill_unix_cache(&unixsockets); +#endif - /* getopt doesnt like things like -SIGBLAH */ - for(optc = 1; optc < argc; optc++) { - if (argv[optc][0] == '-') { /* its an option */ - option=argv[optc] + 1; - if (argv[optc][1] == '-') { /* its a long option */ - if (argv[optc][2] == '\0') { - continue; + 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; + } } - /* FIXME longopts */ - continue; + if (optr->name == NULL) { + fprintf(stderr, + _("%s: Invalid option %s\n"), + argv[0], current_argv); + usage(NULL); + } + } else { + option = current_argv; } - while (*option) { - switch(*option) { + skip_argv = 0; + while (*(++option) != '\0' && !skip_argv) { /* skips over the - */ + switch (*option) { #ifdef WITH_IPV6 case '4': ipv4_only = 1; @@ -715,12 +990,12 @@ int main(int argc, char *argv[]) case '6': ipv6_only = 1; break; -#endif +#endif /* WITH_IPV6 */ case 'a': opts |= OPT_ALLFILES; break; case 'c': - opts |= OPT_MOUNTPOINT; + opts |= OPT_MOUNTS; break; case 'f': /* ignored */ @@ -739,20 +1014,35 @@ int main(int argc, char *argv[]) return 0; case 'm': opts |= OPT_MOUNTS; + read_proc_mounts(&mounts); + break; + case 'M': + opts |= OPT_ISMOUNTPOINT; + read_proc_mounts(&mounts); break; case 'n': - optc++; - if (optc >= argc) { - usage(_("Namespace option requires an argument.")); + argc_cnt++; + if (argc_cnt >= argc) { + usage(_ + ("Namespace option requires an argument.")); + exit(1);; } - if (strcmp(argv[optc], "tcp") == 0) - default_namespace = NAMESPACE_TCP; - else if (strcmp(argv[optc], "udp") == 0) - default_namespace = NAMESPACE_UDP; - else if (strcmp(argv[optc], "file") == 0) - default_namespace = NAMESPACE_FILE; - else - usage(_("Invalid namespace name")); + 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; @@ -763,126 +1053,184 @@ int main(int argc, char *argv[]) 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(option,"fuser"); - option[1]='\0'; - + 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] , argv[optc][1]); + fprintf(stderr, + "%s: Invalid option %c\n", + argv[0], *option); usage(NULL); - + exit(1); break; - } /* switch */ - option++; - } + } /* switch */ + } /* while option */ continue; } - /* File specifications */ - if ( (this_name = malloc(sizeof(struct names))) == NULL) + + /* an option */ + /* Not an option, must be a file specification */ + if ((this_name = malloc(sizeof(struct names))) == NULL) continue; this_name->next = NULL; - if (names_head == NULL) - names_head = this_name; - if (names_tail != NULL) - names_tail->next = this_name; - names_tail = this_name; /* try to find namespace spec */ this_name->name_space = default_namespace; - if ( ((nsptr = strchr(argv[optc], '/')) != NULL ) - && ( nsptr != argv[optc] )) { - if (strcmp(nsptr+1, "tcp") == 0) { + 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) { + } else if (strcmp(nsptr + 1, "udp") == 0) { this_name->name_space = NAMESPACE_UDP; *nsptr = '\0'; - } else if (strcmp(nsptr+1, "file") == 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 || opts & OPT_MOUNTPOINT) && this_name->name_space != NAMESPACE_FILE) - usage(_("You can only use files with mountpoint option")); - switch(this_name->name_space) { - case NAMESPACE_TCP: - asprintf(&(this_name->filename), "%s/tcp", argv[optc]); + 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); + 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: - asprintf(&(this_name->filename), "%s/udp", argv[optc]); + } + 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, &tcp_connection_list, &tcp6_connection_list); + parse_inet(this_name, ipv4_only, ipv6_only, + &udp_connection_list, + &udp6_connection_list); #else - parse_inet(this_name, &tcp_connection_list); + parse_inet(this_name, &udp_connection_list); #endif - break; - default: /* FILE */ - this_name->filename = strdup(argv[optc]); - parse_file(this_name, &match_inodes); - parse_unixsockets(this_name, &match_inodes, unixsockets); - if (opts & OPT_MOUNTPOINT || opts & OPT_MOUNTS) - parse_mounts(this_name, mount_devices, &match_devices, opts); - break; + } + 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; } - } /* for optc */ - if (names_head == NULL) { + 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")); - } - /* Check conflicting operations */ - if (opts & OPT_MOUNTPOINT) { - if (opts & OPT_MOUNTS) - usage(_("You cannot use the mounted and mountpoint flags together")); - } - if (opts & OPT_SILENT) - { + + if (opts & OPT_SILENT) { opts &= ~OPT_VERBOSE; opts &= ~OPT_USER; if (opts & OPT_ALLFILES) - usage(_("all option cannot be used with silent option.")); + 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 (!ipv4_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); + 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); + find_net_sockets(&match_inodes, udp_connection_list, + "udp", netdev); #ifdef WITH_IPV6 } - if (!ipv6_only) { + if (!ipv4_only) { if (tcp6_connection_list != NULL) - find_net6_sockets(&match_inodes, tcp6_connection_list, "tcp",netdev); + 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); + 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); -#ifdef NFS_CHECKS - scan_knfsd(names_head, match_devices); -#endif /* NFS_CHECKS */ - return print_matches(names_head,opts, sig_number); + 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) +static int +print_matches(struct names *names_head, const opt_type opts, + const int sig_number) { struct names *nptr; struct procs *pptr; @@ -891,90 +1239,163 @@ static int print_matches(struct names *names_head, const opt_type opts, const in int len = 0; struct passwd *pwent = NULL; int have_match = 0; - - for (nptr = names_head; nptr != NULL ; nptr = nptr->next) { + int have_kill = 0; + int name_has_procs = 0; + + for (nptr = names_head; nptr != NULL; nptr = nptr->next) { if (opts & OPT_SILENT) { - have_match = nptr->matched_procs ? 1 : have_match; - } else { /* We're not silent */ - if (nptr->matched_procs != NULL || opts & OPT_ALLFILES) { - if (head == 0 && opts & OPT_VERBOSE) { - fprintf(stderr, _("%*s USER PID ACCESS COMMAND\n"), - NAME_FIELD, ""); - head = 1; - } - - fprintf(stderr, "%s:", nptr->filename); - len = strlen(nptr->filename) + 1; - } - - first = 1; - for (pptr = nptr->matched_procs; pptr != NULL ; pptr = pptr->next) { - 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) - fprintf(stderr, " %-8s ", _("(unknown)")); - else - fprintf(stderr, " %-8s ", pwent->pw_name); - } - printf("%6d", pptr->pid); - fflush(stdout); - if (opts & OPT_VERBOSE) { - fprintf(stderr, " %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' : '.'); - } 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) - fprintf(stderr, " %-8s ", _("(unknown)")); - else - fprintf(stderr, "(%s)", pwent->pw_name); - } - if (opts & OPT_VERBOSE) { - if (pptr->command == NULL) - fprintf(stderr, "???\n"); - else - fprintf(stderr, "%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 (nptr->matched_procs != NULL || (opts & OPT_ALLFILES)) - putc('\n', stderr); - } - } /* be 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) - kill_matched_proc(nptr->matched_procs, opts, sig_number); + have_kill = kill_matched_proc(nptr->matched_procs, + opts, sig_number); - } /* next name */ - return (have_match==1?0:1); + } /* next name */ + if (opts & OPT_KILL) + return (have_kill == 1 ? 0 : 1); + else + return (have_match == 1 ? 0 : 1); } @@ -983,65 +1404,110 @@ static struct stat *get_pidstat(const pid_t pid, const char *filename) char pathname[256]; struct stat *st; - if ( (st = malloc(sizeof(struct stat))) == NULL) + if ((st = (struct stat *)malloc(sizeof(struct stat))) == NULL) return NULL; snprintf(pathname, 256, "/proc/%d/%s", pid, filename); - if (stat(pathname, st) != 0) + if (timeout(stat, pathname, st, 5) != 0) { + free(st); return NULL; - else - return st; + } + 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) +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) { - char *dirpath, *filepath; 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; - - if ( (dirpath = malloc(MAX_PATHNAME)) == NULL) - return; - if ( (filepath = malloc(MAX_PATHNAME)) == NULL) - return; + char dirpath[MAX_PATHNAME]; + char filepath[MAX_PATHNAME]; snprintf(dirpath, MAX_PATHNAME, "/proc/%d/%s", pid, dirname); - if ( (dirp = opendir(dirpath)) == NULL) + if ((dirp = opendir(dirpath)) == NULL) return; - while ( (direntry = readdir(dirp)) != NULL) { + 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 (stat(filepath, &st) != 0) { - fprintf(stderr, _("Cannot stat file %s: %s\n"),filepath, strerror(errno)); + 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 { - for (dev_tmp = dev_head ; dev_tmp != NULL ; dev_tmp = dev_tmp->next) { - if (st.st_dev == dev_tmp->device) { - 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); + 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 (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) { - if (access == ACCESS_FILE && (lstat(filepath, &lst)==0) && (lst.st_mode & S_IWUSR)) { - add_matched_proc(ino_tmp->name, pid,uid, ACCESS_FILEWR|access); + 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); + add_matched_proc(ino_tmp->name, + pid, uid, + access); } } } } - } /* while fd_dent */ + } /* 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) +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]; @@ -1053,18 +1519,23 @@ static void check_map(const pid_t pid, const char *filename, struct device_list dev_t tmp_device; snprintf(pathname, MAX_PATHNAME, "/proc/%d/%s", pid, filename); - if ( (fp = fopen(pathname, "r")) == NULL) + 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) { + 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) + 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); + 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); @@ -1075,27 +1546,13 @@ static uid_t getpiduid(const pid_t pid) char pathname[MAX_PATHNAME]; struct stat st; - if (snprintf(pathname, MAX_PATHNAME, "/proc/%d", pid) < 0) + if (snprintf(pathname, MAX_PATHNAME, "/proc/%d", pid) < 0) return 0; - if (stat(pathname, &st) != 0) + if (timeout(stat, pathname, &st, 5) != 0) return 0; return st.st_uid; } -void add_mount_device(struct mountdev_list **mount_head,const char *fsname, const char *dir, dev_t device) -{ - struct mountdev_list *newmount; - /*printf("Adding mount Path: %s Dir:%s dev:%0x\n",dir, fsname, device);*/ - - if ( (newmount = malloc(sizeof(struct mountdev_list))) == NULL) - return; - newmount->fsname = strdup(fsname); - newmount->dir = strdup(dir); - newmount->device = device; - newmount->next = *mount_head; - *mount_head = newmount; -} - /* * fill_unix_cache : Create a list of Unix sockets * This list is used later for matching purposes @@ -1104,83 +1561,73 @@ void fill_unix_cache(struct unixsocket_list **unixsocket_head) { FILE *fp; char line[BUFSIZ]; - char *scanned_path; int scanned_inode; struct stat st; struct unixsocket_list *newsocket; - - if ( (fp = fopen("/proc/net/unix","r")) == NULL) { + + if ((fp = fopen("/proc/net/unix", "r")) == NULL) { fprintf(stderr, _("Cannot open /proc/net/unix: %s\n"), - strerror(errno)); + 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) + &scanned_inode, &scanned_path) != 2) { + if (scanned_path) + free(scanned_path); + continue; + } + if (scanned_path == NULL) continue; - if (stat(scanned_path, &st) < 0) { - free(scanned_path); + path = scanned_path; + if (*scanned_path == '@') + scanned_path++; + if (timeout(stat, scanned_path, &st, 5) < 0) { + free(path); continue; } - if ( (newsocket = malloc(sizeof(struct unixsocket_list))) == NULL) + 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->net_inode = scanned_inode; newsocket->next = *unixsocket_head; *unixsocket_head = newsocket; - } /* while */ - -} + free(path); + } /* while */ -/* - * scan_mount_devices : Create a list of mount points and devices - * This list is used later for matching purposes - */ -void scan_mount_devices(const opt_type opts, struct mountdev_list **mount_devices) -{ - FILE *mntfp; - struct mntent *mnt_ptr; - struct stat st; - - if ( (mntfp = setmntent("/etc/mtab","r")) == NULL) { - fprintf(stderr, _("Cannot open /etc/mtab: %s\n"), - strerror(errno)); - return; - } - while ( (mnt_ptr = getmntent(mntfp)) != NULL) { - if (stat(mnt_ptr->mnt_dir, &st) == 0) { - add_mount_device(mount_devices, mnt_ptr->mnt_fsname, mnt_ptr->mnt_dir, st.st_dev); - } - } + fclose(fp); } #ifdef DEBUG -/* often not used, doesnt need translation */ -static void debug_match_lists(struct names *names_head, struct inode_list *ino_head, struct device_list *dev_head) +/* 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, "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, "\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); + (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); + fprintf(stderr, "\nDevices:\n"); + for (dptr = dev_head; dptr != NULL; dptr = dptr->next) { + fprintf(stderr, "\tDev:%0lx\n", (unsigned long)dptr->device); } } @@ -1194,7 +1641,7 @@ static int ask(const pid_t pid) char *line = NULL; fflush(stdout); - while(1) { + while (1) { fprintf(stderr, _("Kill process %d ? (y/N) "), pid); fflush(stderr); if (getline(&line, &len, stdin) < 0) @@ -1208,75 +1655,479 @@ static int ask(const pid_t pid) free(line); return res; } - } /* while */ + } /* while */ } -static void kill_matched_proc(struct procs *proc_head, const opt_type opts, const int sig_number) +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; - for (pptr = proc_head ; pptr != NULL ; pptr = pptr->next ) { - if ( (opts & OPT_INTERACTIVE) && (ask(pptr->pid) == 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) { + if (kill(pptr->pid, sig_number) < 0) { fprintf(stderr, _("Could not kill process %d: %s\n"), - pptr->pid, - strerror(errno) - ); + 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; + 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; } -#ifdef NFS_CHECKS -static void scan_knfsd(struct names *names_head, struct device_list *dev_head) +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; + char *find_space; + struct stat st; - if ( (fp = fopen(KNFSD_EXPORTS, "r")) == NULL) { + if ((fp = fopen(KNFSD_EXPORTS, "r")) == NULL) { #ifdef DEBUG - printf("Cannot open %s\n", KNFSD_EXPORTS); + printf("Cannot open %s\n", KNFSD_EXPORTS); #endif - return; - } + return; + } while (fgets(line, BUFSIZ, fp) != NULL) { - if (line[0] == '#') { continue; } - if ( (find_space=strpbrk(line," \t")) == NULL) { - continue; - } - *find_space = '\0'; - if ( stat(line, &st) != 0) { - printf("hello %s\n", line); - continue; - } - printf("looking for dev %0x\n", st.st_dev); - /* Scan the devices */ - for (dev_tmp = dev_head ; dev_tmp != NULL ; dev_tmp = dev_tmp->next) { - printf("dev %d\n", dev_tmp->device); - } - - } + 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; } -#endif /* NFSCHECKS */ diff --git a/src/fuser.h b/src/fuser.h index f15ba7e..e804db0 100644 --- a/src/fuser.h +++ b/src/fuser.h @@ -1,6 +1,6 @@ /* Option Flags */ -typedef unsigned char opt_type; +typedef unsigned short opt_type; #define OPT_VERBOSE 1 #define OPT_ALLFILES 2 @@ -9,18 +9,21 @@ typedef unsigned char opt_type; #define OPT_INTERACTIVE 16 #define OPT_SILENT 32 #define OPT_USER 64 -#define OPT_MOUNTPOINT 128 - +#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 @@ -28,9 +31,16 @@ struct procs { #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; }; @@ -58,14 +68,6 @@ struct inode_list { struct inode_list *next; }; -struct mountdev_list { - char *fsname; - char *dir; - dev_t device; - struct mountdev_list *next; -}; - - struct device_list { struct names *name; dev_t device; @@ -80,6 +82,22 @@ struct unixsocket_list { 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 @@ -88,3 +106,5 @@ struct unixsocket_list { #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/killall.c b/src/killall.c index e9a47b7..9f2782a 100644 --- a/src/killall.c +++ b/src/killall.c @@ -2,7 +2,7 @@ * killall.c - kill processes by name or list PIDs * * Copyright (C) 1993-2002 Werner Almesberger - * Copyright (C) 2002-2007 Craig Small + * 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 @@ -41,23 +41,49 @@ #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, pidof; + ignore_case = 0; +static long younger_than = 0, older_than = 0; static int ask (char *name, pid_t pid, const int signal) @@ -95,6 +121,70 @@ ask (char *name, pid_t pid, const int signal) /* 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) { @@ -118,7 +208,7 @@ match_process_uid(pid_t pid, uid_t uid) fclose(f); if (re==-1) { - fprintf(stderr, _("Cannot get UID from process status\n")); + fprintf(stderr, _("killall: Cannot get UID from process status\n")); exit(1); } return re; @@ -144,7 +234,7 @@ build_regexp_list(int names, char **namelist) { if (regcomp(®list[i], namelist[i], flag) != 0) { - fprintf(stderr, _("Bad regular expression: %s\n"), namelist[i]); + fprintf(stderr, _("killall: Bad regular expression: %s\n"), namelist[i]); exit (1); } } @@ -243,7 +333,7 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) pgids = NULL; /* silence gcc */ else { - pgids = malloc (pids * sizeof (pid_t)); + pgids = calloc (pids, sizeof (pid_t)); if (!pgids) { perror ("malloc"); @@ -254,7 +344,7 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) { 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; @@ -281,9 +371,23 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) } free (path); okay = fscanf (file, "%*d (%15[^)]", comm) == 1; - (void) fclose (file); - if (!okay) + 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); @@ -340,8 +444,8 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) if (exact && !okay) { if (verbose) - fprintf (stderr, _("skipping partial match %s(%d)\n"), comm, - pid_table[i]); + fprintf (stderr, _("killall: skipping partial match %s(%d)\n"), + comm, pid_table[i]); continue; } got_long = okay; @@ -356,6 +460,11 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) } 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) @@ -371,9 +480,21 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) continue; } } - else if (got_long ? strcmp (namelist[j], command) : - strncmp (namelist[j], comm, COMM_LEN - 1)) - 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 { @@ -391,11 +512,14 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) /* maybe the binary has been modified and std[j].st_ino * is not reliable anymore. We need to compare paths. */ - char linkbuf[PATH_MAX]; + size_t len = strlen(namelist[j]); + char *linkbuf = malloc(len + 1); - if (readlink(path, linkbuf, sizeof(linkbuf)) <= 0 || - strcmp(namelist[j], linkbuf)) + if (!linkbuf || + readlink(path, linkbuf, len + 1) != len || + memcmp(namelist[j], linkbuf, len)) ok = 0; + free(linkbuf); } free(path); @@ -421,8 +545,8 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) pgids[i] = id; if (id < 0) { - fprintf (stderr, "getpgid(%d): %s\n", pid_table[i], - strerror (errno)); + fprintf (stderr, "killall: getpgid(%d): %s\n", + pid_table[i], strerror (errno)); } for (j = 0; j < i; j++) if (pgids[j] == id) @@ -432,14 +556,7 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) } if (interactive && !ask (comm, id, signal)) continue; - if (pidof) - { - if (found) - putchar (' '); - printf ("%d", id); - found |= 1 << (found_name >= 0 ? found_name : 0); - } - else if (kill (process_group ? -id : id, signal) >= 0) + if (kill (process_group ? -id : id, signal) >= 0) { if (verbose) fprintf (stderr, _("Killed %s(%s%d) with signal %d\n"), got_long ? command : @@ -453,12 +570,10 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) fprintf (stderr, "%s(%d): %s\n", got_long ? command : comm, id, strerror (errno)); } - if (!quiet && !pidof) + if (!quiet) for (i = 0; i < names; i++) if (!(found & (1 << i))) - fprintf (stderr, _("%s: no process killed\n"), namelist[i]); - if (pidof) - putchar ('\n'); + 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. */ @@ -491,21 +606,10 @@ kill_all (int signal, int names, char **namelist, struct passwd *pwent) static void -usage_pidof (void) -{ - fprintf (stderr, _( - "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")); -} - - -static void -usage_killall (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")); @@ -519,6 +623,8 @@ usage_killall (void) " -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" @@ -534,24 +640,15 @@ usage_killall (void) " (must precede other arguments)\n")); #endif /*WITH_SELINUX*/ fputc('\n', stderr); + exit(1); } -static void -usage (void) -{ - if (pidof) - usage_pidof (); - else - usage_killall (); - exit (1); -} - void print_version() { - fprintf(stderr, "%s (PSmisc) %s\n", pidof ? "pidof" : "killall", VERSION); + fprintf(stderr, "killall (PSmisc) %s\n", VERSION); fprintf(stderr, _( - "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n\n")); + "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" @@ -559,6 +656,17 @@ void print_version() "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) { @@ -567,14 +675,17 @@ main (int argc, char **argv) int optc; int myoptind; struct passwd *pwent = NULL; - struct stat isproc; - + 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'}, @@ -599,7 +710,7 @@ main (int argc, char **argv) security_context_t scontext = NULL; regex_t scontext_reg; - if ( argc < 2 ) usage(); /* do the obvious thing... */ + if ( argc < 2 ) usage(NULL); /* do the obvious thing... */ #endif /*WITH_SELINUX*/ name = strrchr (*argv, '/'); @@ -607,99 +718,104 @@ main (int argc, char **argv) name++; else name = *argv; - pidof = strcmp (name, "killall"); sig_num = SIGTERM; opterr = 0; #ifdef WITH_SELINUX - while ( (optc = getopt_long_only(argc,argv,"egilqrs:u:vwZ:VI",options,NULL)) != EOF) { + while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwZ:VI",options,NULL)) != -1) { #else - while ( (optc = getopt_long_only(argc,argv,"egilqrs:u:vwVI",options,NULL)) != EOF) { + 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 'i': - if (pidof) - usage(); - interactive = 1; - break; - case 'l': - if (pidof) - usage(); - list_signals(); - return 0; - break; - case 'q': - if (pidof) - usage(); - quiet = 1; - break; - case 'r': - if (pidof) - usage(); - reg = 1; - break; - case 's': - sig_num = get_signal (optarg, "killall"); - break; - case 'u': - if (pidof) - usage(); - if (!(pwent = getpwnam(optarg))) - { - fprintf (stderr, _("Cannot find user %s\n"), optarg); - exit (1); - } - break; - case 'v': - if (pidof) - usage(); - verbose = 1; - break; - case 'w': - if (pidof) - usage(); - wait_until_dead = 1; - break; - case 'I': + 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; - break; - case 'V': + } 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; - break; + } + 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; + 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"); + 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 { - /* 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(); - } + usage(NULL); } - break; + } + break; } } myoptind = optind; @@ -708,18 +824,18 @@ main (int argc, char **argv) #else if ((argc - myoptind < 1) && pwent==NULL) #endif - usage(); + usage(NULL); - if (argc - myoptind > MAX_NAMES + 1) - { - fprintf (stderr, _("Maximum number of names is %d\n"), MAX_NAMES); - exit (1); - } - if (stat("/proc/self/stat", &isproc)==-1) - { - fprintf (stderr, _("%s is empty (not mounted ?)\n"), PROC_BASE); - exit (1); - } + 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 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/loop.h b/src/loop.h deleted file mode 100644 index 1bd7fa8..0000000 --- a/src/loop.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * include/linux/loop.h - * - * Written by Theodore Ts'o, 3/29/93. - * - * Copyright 1993 by Theodore Ts'o. Redistribution of this file is - * permitted under the GNU Public License. - */ - -#define LO_NAME_SIZE 64 -#define LO_KEY_SIZE 32 - -struct loop_info { - int lo_number; /* ioctl r/o */ - dev_t lo_device; /* ioctl r/o */ - unsigned long lo_inode; /* ioctl r/o */ - dev_t lo_rdevice; /* ioctl r/o */ - int lo_offset; - int lo_encrypt_type; - int lo_encrypt_key_size; /* ioctl w/o */ - int lo_flags; /* ioctl r/o */ - char lo_name[LO_NAME_SIZE]; - unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */ - unsigned long lo_init[2]; - char reserved[4]; -}; - -#define LO_CRYPT_NONE 0 -#define LO_CRYPT_XOR 1 -#define LO_CRYPT_DES 2 -#define LO_CRYPT_IDEA 3 -#define MAX_LO_CRYPT 4 - -#define LOOP_SET_FD 0x4C00 -#define LOOP_CLR_FD 0x4C01 -#define LOOP_SET_STATUS 0x4C02 -#define LOOP_GET_STATUS 0x4C03 diff --git a/src/oldfuser.c b/src/oldfuser.c deleted file mode 100644 index acf07d9..0000000 --- a/src/oldfuser.c +++ /dev/null @@ -1,1229 +0,0 @@ -/* - * fuser.c - identify processes using files - * - * 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 - */ -#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 -#ifdef __linux__ -#include /* for MKDEV */ -#include /* for LOOP_MAJOR */ -#endif -#include - -#include "i18n.h" -#include "comm.h" -#include "loop.h" /* for loop_info */ -#include "signals.h" - - -#define PROC_BASE "/proc" -#define UID_UNKNOWN -1 -#define NAME_FIELD 20 /* space reserved for file name */ - -#define MAX_LINE 256 /* longest line we may ever find in /proc */ - - -#ifndef LOOP_MAJOR /* don't count on the headers too much ... */ -#define LOOP_MAJOR 7 -#endif - -#ifndef MAJOR -#define MAJOR(arg) 6 /* something that doesn't = LOOP_MAJOR */ -#endif - -#ifndef MKDEV -#define MKDEV(arg1, arg2) mknod("/dev/Isuck", arg1, arg2) /* this is wrong */ -#endif - - -#define REF_FILE 1 /* an open file */ -#define REF_ROOT 2 /* current root */ -#define REF_CWD 4 /* current directory */ -#define REF_EXE 8 /* executable */ -#define REF_MMAP 16 /* mmap'ed file or library */ - -#define FLAG_KILL 1 /* kill process */ -#define FLAG_UID 2 /* show uid */ -#define FLAG_VERB 4 /* show verbose output */ -#define FLAG_DEV 8 /* show all processes using this device */ -#define FLAG_ASK 16 /* ask before killing a process */ - - -typedef struct _net_cache -{ - struct sockaddr_storage rmt_addr; - int lcl_port; - int rmt_port; - ino_t ino; - struct _net_cache *next; -} -NET_CACHE; - -typedef struct _unix_cache -{ - dev_t fs_dev; - ino_t fs_ino; - ino_t net_ino; - struct _unix_cache *next; -} -UNIX_CACHE; - -typedef struct -{ - const char *name; - NET_CACHE *cache; - int once; -} -SPACE_DSC; - -typedef enum -{ it_proc, it_mount, it_loop, it_swap } -ITEM_TYPE; - -typedef struct item_dsc -{ - ITEM_TYPE type; - union - { - struct - { - pid_t pid; - int uid; /* must also accept UID_UNKNOWN */ - int ref_set; - } - proc; - struct - { - const char *path; - } - misc; - } - u; - struct item_dsc *next; -} -ITEM_DSC; - -typedef struct file_dsc -{ - const char *name; /* NULL if previous entry has name */ - dev_t dev; - ino_t ino; - int flags, sig_num; - SPACE_DSC *name_space; /* or NULL if no indication */ - ITEM_DSC *items; - struct file_dsc *named, *next; -} -FILE_DSC; - -static SPACE_DSC name_spaces[] = { - {"file", NULL, 0}, /* must be first */ - {"tcp", NULL, 0}, - {"udp", NULL, 0}, - {NULL, NULL, 0} -}; - - -static FILE_DSC *files = NULL; -static FILE_DSC *last_named = NULL; -static UNIX_CACHE *unix_cache = NULL; -static pid_t self; -static int all = 0, found_item = 0; -static dev_t net_dev; -static int ipv4only = 0, ipv6only = 0; - - -static void -parse_net_file (SPACE_DSC * dsc,char *filename, NET_CACHE **lastptr,int version ) -{ - FILE *file; - NET_CACHE *new, *last; - char line[MAX_LINE + 1]; - char rmt_addr[128]; - char addr6[128]; - unsigned long tmp_ino; - - if (!(file = fopen (filename, "r"))) - { - perror (filename); - exit (1); - } - last = *lastptr; - (void) fgets (line, MAX_LINE, file); - while (fgets (line, MAX_LINE, file)) - { - new = malloc (sizeof (NET_CACHE)); - if (!new) - { - perror ("malloc"); - exit (1); - } - if (sscanf (line, - "%*d: %*x:%x %64[0-9A-Fa-f]:%x %*x %*x:%*x %*x:%*x %*x %*d %*d %lu", - &new->lcl_port, rmt_addr, &new->rmt_port, &tmp_ino) != 4) - { - free (new); - continue; - } - new->ino = tmp_ino; - if (strlen(rmt_addr) > 8) { - sscanf(rmt_addr, "%08X%08X%08X%08X", - &((struct sockaddr_in6 *)&new->rmt_addr)->sin6_addr.s6_addr32[0], - &((struct sockaddr_in6 *)&new->rmt_addr)->sin6_addr.s6_addr32[1], - &((struct sockaddr_in6 *)&new->rmt_addr)->sin6_addr.s6_addr32[2], - &((struct sockaddr_in6 *)&new->rmt_addr)->sin6_addr.s6_addr32[3]); - inet_ntop(AF_INET6, &((struct sockaddr_in6 *)&new->rmt_addr)->sin6_addr, addr6, sizeof(addr6)); - } else { - sscanf(rmt_addr, "%X", - &((struct sockaddr_in *) &new->rmt_addr)->sin_addr.s_addr); - ((struct sockaddr *) &new->rmt_addr)->sa_family = AF_INET; - } - if (!new->ino) - { - free (new); - continue; - } - new->next = NULL; - if (last) - last->next = new; - else - dsc->cache = new; - last = new; - } - (void) fclose (file); - *lastptr = last; - -} - -static void -fill_net_cache (SPACE_DSC * dsc) -{ - NET_CACHE *last; - struct stat statbuf; - char *buffer = malloc (strlen (PROC_BASE) + strlen (dsc->name) + 8); - if (!buffer) - return; - - if (dsc->once) - return; - dsc->once = 1; - last = NULL; - - /* Check to see if we have both namespace files, if we don't then silently - * not use them if not flags are specified and complain if the flags - * were specified. - */ - - if (!ipv6only) { - sprintf (buffer, PROC_BASE "/net/%s", dsc->name); - if (stat(buffer, &statbuf) != 0) { - if (ipv4only) - fprintf(stderr, _("-4 flag used but proc file %s is not readable\n"), buffer); - } else { - parse_net_file (dsc, buffer, &last,4 ); - } - } - if (!ipv4only) { - sprintf (buffer, PROC_BASE "/net/%s6", dsc->name); - if (stat(buffer, &statbuf) != 0) { - if (ipv6only) - fprintf(stderr, _("-6 flag used but proc file %s is not readable\n"), buffer); - } else { - parse_net_file (dsc, buffer, &last,6 ); - } - } -} - - -static void -fill_unix_cache (void) -{ - static int once; - FILE *file; - UNIX_CACHE *new, *last; - struct stat st; - char *path = NULL, line[MAX_LINE + 1]; - int ino; - - if (once) - return; - once = 1; - if (!(file = fopen (PROC_BASE "/net/unix", "r"))) - { - perror (PROC_BASE "/net/unix"); - exit (1); - } - last = NULL; - (void) fgets (line, MAX_LINE, file); - while (fgets (line, MAX_LINE, file)) - { - if (sscanf (line, "%*x: %*x %*x %*x %*x %*x %d %as", &ino, &path) != 2) - continue; - if (stat (path, &st) < 0) { - free (path); - continue; - } - free (path); - - new = malloc (sizeof (UNIX_CACHE)); - new->fs_dev = st.st_dev; - new->fs_ino = st.st_ino; - new->net_ino = ino; - new->next = NULL; - if (last) - last->next = new; - else - unix_cache = new; - last = new; - } - (void) fclose (file); - -} - - -static unsigned long -try_to_find_unix_dev (ino_t inode) -{ - UNIX_CACHE *walk; - - for (walk = unix_cache; walk; walk = walk->next) - if (walk->net_ino == inode) - return walk->fs_dev; - return 0; -} - - -static void -add_file (const char *path, dev_t device, ino_t inode, - pid_t pid, int ref) -{ - struct stat st; - FILE_DSC *file, *next; - ITEM_DSC **item, *this; - dev_t mount_dev; - - if (device) - mount_dev = device; - else - mount_dev = try_to_find_unix_dev (inode); - for (file = files; file; file = next) - { - next = file->next; - if (file->flags & FLAG_DEV ? mount_dev && mount_dev == file->dev : - device == file->dev && inode == file->ino) - { - if (!file->name) - file = file->named; - for (item = &file->items; *item; item = &(*item)->next) - if ((*item)->type == it_proc && (*item)->u.proc.pid >= pid) - break; - if (*item && (*item)->u.proc.pid == pid) - this = *item; - else - { - if (!(this = malloc (sizeof (ITEM_DSC)))) - { - perror ("malloc"); - exit (1); - } - this->type = it_proc; - this->u.proc.pid = pid; - this->u.proc.uid = UID_UNKNOWN; - this->u.proc.ref_set = 0; - this->next = *item; - *item = this; - found_item = 1; - } - this->u.proc.ref_set |= ref; - if ((file->flags & (FLAG_UID | FLAG_VERB)) && this->u.proc.uid == - UID_UNKNOWN && lstat (path, &st) >= 0) - this->u.proc.uid = st.st_uid; - } - } -} - - -static void -add_other (ITEM_TYPE type, dev_t mount_dev, - dev_t device, ino_t inode, const char *path) -{ - FILE_DSC *file, *next; - ITEM_DSC **item, *this; - - for (file = files; file; file = next) - { - next = file->next; - if (file->flags & FLAG_DEV ? mount_dev == file->dev : - device == file->dev && inode == file->ino) - { - if (!file->name) - file = file->named; - for (item = &file->items; *item; item = &(*item)->next); - /* there's no easy way to suppress duplicates, so we don't */ - if (!(this = malloc (sizeof (ITEM_DSC)))) - { - perror ("malloc"); - exit (1); - } - this->type = type; - if (!(this->u.misc.path = strdup (path))) - { - perror ("strdup"); - exit (1); - } - this->next = *item; - *item = this; - found_item = 1; - } - } -} - - -static void -check_link (const char *path, pid_t pid, int type) -{ - struct stat st; - - if (stat (path, &st) >= 0) - add_file (path, st.st_dev, st.st_ino, pid, type); -} - - -static void -check_map (const char *rel, pid_t pid, int type) -{ - FILE *file; - char line[MAX_LINE + 1]; - int major, minor; - ino_t inode; - unsigned long long tmp_inode; - - if (!(file = fopen (rel, "r"))) - return; - while (fgets (line, MAX_LINE, file)) - { - if (sscanf (line, "%*s %*s %*s %x:%x %lld", &major, &minor, &tmp_inode) != 3) - continue; - if (major || minor || tmp_inode) { - inode = (ino_t)(tmp_inode); - add_file (rel, MKDEV (major, minor), inode, pid, type); - } - } - fclose (file); -} - - -static void -check_dir (const char *rel, pid_t pid, int type) -{ - DIR *dir; - struct dirent *de; - char *path; - - if (!(dir = opendir (rel))) - return; - while ((de = readdir (dir)) != NULL) - if (strcmp (de->d_name, ".") && strcmp (de->d_name, "..")) - { - asprintf (&path, "%s/%s", rel, de->d_name); - check_link (path, pid, type); - free (path); - } - (void) closedir (dir); -} - - -static void -scan_fd (void) -{ - DIR *dir; - struct dirent *de; - char *path; - pid_t pid; - int empty; - - if (!(dir = opendir (PROC_BASE))) - { - perror (PROC_BASE); - exit (1); - } - empty = 1; - while ((de = readdir (dir)) != NULL) - if ((pid = (pid_t)atoi (de->d_name)) != 0) - { - empty = 0; - if (asprintf (&path, "%s/%d", PROC_BASE, pid) < 0) - continue; - if (chdir (path) >= 0) - { - check_link ("root", pid, REF_ROOT); - check_link ("cwd", pid, REF_CWD); - check_link ("exe", pid, REF_EXE); - check_dir ("lib", pid, REF_MMAP); - check_dir ("mmap", pid, REF_MMAP); - check_map ("maps", pid, REF_MMAP); - check_dir ("fd", pid, REF_FILE); - } - free (path); - } - (void) closedir (dir); - if (empty) - { - fprintf (stderr, _("%s is empty (not mounted ?)\n"),PROC_BASE); - exit (1); - } -} - - -static void -scan_mounts (void) -{ - FILE *file; - struct stat st_dev, st_parent, st_mounted; - char line[MAX_LINE + 1], *path = NULL, *mounted = NULL; - char *end; - - if (!(file = fopen (PROC_BASE "/mounts", "r"))) - return; /* old kernel */ - while (fgets (line, MAX_LINE, file)) - { - if (sscanf (line, "%as %as", &path, &mounted) != 2) - continue; - if ( stat (path, &st_dev) == 0) { - if (S_ISBLK (st_dev.st_mode) && MAJOR (st_dev.st_rdev) == LOOP_MAJOR) { - struct loop_info loopinfo; - int fd; - - if ((fd = open(path, O_RDWR)) > 0) { - if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) >= 0) { - add_other(it_loop,loopinfo.lo_device,loopinfo.lo_device,loopinfo.lo_inode,path); - } - (void) close(fd); - } - } - } - if (stat (mounted, &st_mounted) < 0) - { - free (path); - free (mounted); - continue; - } - if (asprintf (&end, "%s/..", mounted) < 0) - { - free (path); - free (mounted); - continue; - } - - if (stat (end, &st_parent) >= 0) - { - add_other (it_mount, st_parent.st_dev, st_mounted.st_dev, - st_mounted.st_ino, mounted); - } - free (end); - free (path); - free (mounted); - } - (void) fclose (file); -} - - -static void -scan_swaps (void) -{ - FILE *file; - struct stat st; - char line[MAX_LINE + 1], *path, type[MAX_LINE + 1]; - - if (!(file = fopen (PROC_BASE "/swaps", "r"))) - return; /* old kernel */ - (void) fgets (line, MAX_LINE, file); - while (fgets (line, MAX_LINE, file)) - { - if (sscanf (line, "%as %s", &path, type) != 2) - continue; /* new kernel :-) */ - if (strcmp (type, "file")) { - free (path); - continue; - } - if (stat (path, &st) >= 0) - add_other (it_swap, st.st_dev, st.st_dev, st.st_ino, path); - free (path); - } - (void) fclose (file); -} - - -static int -ask (pid_t pid) -{ - int res; - size_t len; - char *line; - - line = NULL; - len = 0; - - fflush (stdout); - do { - fprintf (stderr, _("Kill process %d ? (y/N) "), pid); - fflush (stderr); - - 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 */ - return 0; -} - -static void -kill_item (const FILE_DSC * file, const ITEM_DSC * item) -{ - char tmp[10]; - - switch (item->type) - { - case it_proc: - if (item->u.proc.pid == self) - return; - if ((file->flags & FLAG_ASK) && !ask (item->u.proc.pid)) - return; - if (kill (item->u.proc.pid, file->sig_num) >= 0) - break; - sprintf (tmp, _("kill %d"), item->u.proc.pid); - perror (tmp); - break; - case it_mount: - fprintf (stderr, _("No automatic removal. Please use umount %s\n"), - item->u.misc.path); - break; - case it_loop: - fprintf (stderr, _("No automatic removal. Please use umount %s\n"), - item->u.misc.path); - break; - case it_swap: - fprintf (stderr, _("No automatic removal. Please use swapoff %s\n"), - file->name); - break; - } -} - - -static void -show_files_or_kill (void) -{ - const FILE_DSC *file; - const ITEM_DSC *item; - FILE *f; - const struct passwd *pw; - const char *user, *scan; - char tmp[10], *path, comm[COMM_LEN + 1]; - int length, header, first, dummy, last_namelen = 0; - header = 1; - for (file = files; file; file = file->next) - if (file->name && (file->items || all)) - { - if (header && (file->flags & FLAG_VERB)) - { - fprintf (stderr, _("\n%*s USER PID ACCESS COMMAND\n"), - NAME_FIELD, ""); - header = 0; - } - length = 0; - for (scan = file->name; scan && *scan; scan++) - if (*scan == '\\') - length += fprintf (stderr, "\\\\"); - else if (*scan > ' ' && *scan <= '~') - { - putc(*scan,stderr); - length++; - } - else - length += fprintf (stderr, "\\%03o", *scan); - if (file->name_space) - length += fprintf (stderr, "/%s", file->name_space->name); - - if (length > 0) - last_namelen=length; - else - fprintf(stderr, "\n%*.*s",last_namelen,last_namelen," "); - - if (!(file->flags & FLAG_VERB)) - { - putc (':',stderr); - length++; - } - - first = 1; - for (item = file->items; item; item = item->next) - { - if (!(file->flags & FLAG_VERB)) - { - if (item->type != it_proc) - continue; - if ((first==1) && (item->u.proc.ref_set & (REF_FILE|REF_ROOT|REF_CWD|REF_EXE|REF_MMAP))) { - while (length < NAME_FIELD) - { - putc(' ',stderr); - length++; - } - } - printf ("%6d", item->u.proc.pid); - fflush(stdout); - /* if (item->u.proc.ref_set & REF_FILE)*/ - if (item->u.proc.ref_set & REF_ROOT) - putc ('r', stderr); - if (item->u.proc.ref_set & REF_CWD) - putc ('c', stderr); - if (item->u.proc.ref_set & REF_EXE) - putc ('e', stderr); - else if (item->u.proc.ref_set & REF_MMAP) - putc ('m', stderr); - if ((file->flags & FLAG_UID) && item->u.proc.uid != - UID_UNKNOWN) - { - if ((pw = getpwuid (item->u.proc.uid)) != NULL) { - fprintf (stderr, "(%s)", pw->pw_name); - } else { - fprintf (stderr, "(%d)", item->u.proc.uid); - } - } - first = 0; - } - else - { - const char *name; - int uid; - - switch (item->type) - { - case it_proc: - asprintf (&path, PROC_BASE "/%d/stat", item->u.proc.pid); - strcpy (comm, "???"); - if ((f = fopen (path, "r")) != NULL) - { - (void) fscanf (f, "%d (%[^)]", &dummy, comm); - (void) fclose (f); - } - free (path); - name = comm; - uid = item->u.proc.uid; - break; - case it_mount: - case it_loop: - case it_swap: - name = item->u.misc.path; - uid = 0; - break; - default: - fprintf (stderr, _("Internal error (type %d)\n"), - item->type); - exit (1); - } - if (uid == UID_UNKNOWN) - user = "???"; - else if ((pw = getpwuid (uid)) != NULL) - user = pw->pw_name; - else - { - sprintf (tmp, "%d", uid); - user = tmp; - } - if (!first) - fprintf (stderr, "%*s", NAME_FIELD, ""); - else if (length > NAME_FIELD) - fprintf (stderr, "\n%*s", NAME_FIELD, ""); - else - while (length < NAME_FIELD) - { - putc(' ', stderr); - length++; - } - fprintf (stderr, " %-8s ", user); - switch (item->type) - { - case it_proc: - printf ("%6d", item->u.proc.pid); - fflush(stdout); - fprintf (stderr, " %c%c%c%c%c ", - item->u.proc.ref_set & REF_FILE ? 'f' : '.', - item->u.proc.ref_set & REF_ROOT ? 'r' : '.', - item->u.proc.ref_set & REF_CWD ? 'c' : '.', - item->u.proc.ref_set & REF_EXE ? 'e' : '.', - (item->u.proc.ref_set & REF_MMAP) && - !(item->u.proc.ref_set & REF_EXE) ? 'm' : '.'); - break; - case it_mount: - fprintf (stderr, _("kernel mount ")); - break; - case it_loop: - fprintf (stderr, _("kernel loop ")); - break; - case it_swap: - fprintf (stderr, _("kernel swap ")); - break; - } - if (name) - { - for (scan = name; *scan; scan++) - if (*scan == '\\') - fprintf (stderr, "\\\\"); - else if (*scan > ' ' && *scan <= '~') - putc (*scan,stderr); - else - fprintf (stderr, "\\%03o", (unsigned char) *scan); - } - putc ('\n',stderr); - } - first = 0; - } - if (!(file->flags & FLAG_VERB) || first) - putc('\n',stderr); - if (file->flags & FLAG_KILL) - for (item = file->items; item; item = item->next) - kill_item (file, item); - } -} - - -static void -kill_files (void) -{ - const FILE_DSC *file; - const ITEM_DSC *item; - - for (file = files; file; file = file->next) - if (file->flags & FLAG_KILL) - for (item = file->items; item; item = item->next) - kill_item (file, item); -} - - -static void -enter_item (const char *name, int flags, int sig_number, dev_t dev, - ino_t ino, SPACE_DSC * name_space) -{ - static FILE_DSC *last = NULL; - FILE_DSC *new; - - if (!(new = malloc (sizeof (FILE_DSC)))) - { - perror ("malloc"); - exit (1); - } - if (last_named && !strcmp (last_named->name, name) && - last_named->name_space == name_space) - new->name = NULL; - else if (!(new->name = strdup (name))) - { - perror ("strdup"); - exit (1); - } - new->flags = flags; - new->sig_num = sig_number; - new->items = NULL; - new->next = NULL; - new->dev = dev; - new->ino = ino; - new->name_space = name_space; - if (last) - last->next = new; - else - files = new; - last = new; - new->named = last_named; - if (new->name) - last_named = new; -} - - -static int -parse_inet (const char *spec, const char *name_space, int *lcl_port, - struct sockaddr_storage *rmt_addr, int *rmt_port) -{ - char *s, *here, *next, *end; - int port, field, address_match; - - if (!(s = strdup (spec))) - { - perror ("strdup"); - exit (1); - } - *lcl_port = *rmt_port = -1; - memset(rmt_addr, 0, sizeof(struct sockaddr_storage)); - field = 0; - address_match = 0; - for (here = s; here; here = next ? next + 1 : NULL) - { - next = strchr (here, ','); - if (next) - *next = 0; - switch (field) - { - case 0: - /* fall through */ - case 2: - if (!*here) - break; - port = strtoul (here, &end, 0); - if (*end) - { - struct servent *se; - - if (!(se = getservbyname (here, name_space))) - return 0; - port = ntohs (se->s_port); - } - if (field) - *rmt_port = port; - else - *lcl_port = port; - break; - case 1: - if (!*here) - break; - if (!ipv4only) { - - if (inet_pton(AF_INET6, here, &((struct sockaddr_in6*)rmt_addr)->sin6_addr) > 0) { - address_match = 1; - rmt_addr->ss_family = AF_INET6; - } - } - if (!ipv6only && !address_match) { - if (inet_pton(AF_INET, here, &((struct sockaddr_in*)rmt_addr)->sin_addr) > 0) { - address_match = 1; - rmt_addr->ss_family = AF_INET6; - } - } - - break; - default: - return 0; - } - field++; - } - return 1; -} - -static void find_net_dev(void) -{ - int fd = socket(PF_INET, SOCK_DGRAM,0); - struct stat buf; - if (fd >= 0 && fstat(fd, &buf) == 0) { - net_dev = buf.st_dev; - close(fd); - return; - } - if (fd >= 0) - close(fd); - fprintf(stderr,_("can't find sockets' device number")); -} - - - -static void -usage (void) -{ - fprintf (stderr, _( - "Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" - " [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n" - " fuser -l\n" - " fuser -V\n" - "Show which processes use the named files, sockets, or filesystems.\n\n " - " -a display unused files too\n" - " -c mounted FS\n" - " -f silently ignored (for POSIX compatibility)\n" - " -i ask before killing (ignored without -k)\n" - " -k kill processes accessing the named file\n" - " -l list available signal names\n" - " -m show all processes using the named filesystems\n" - " -n SPACE search in this name space (file, udp, or tcp)\n" - " -s silent operation\n" - " -SIGNAL send this 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")); - exit (1); -} - -void print_version() -{ - fprintf(stderr, _("fuser (PSmisc) %s\n"), VERSION); - fprintf(stderr, _( - "Copyright (C) 1993-2005 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) -{ - SPACE_DSC *name_space; - int flags, silent, do_kill, sig_number, no_files; - - flags = silent = do_kill = 0; - sig_number = SIGKILL; - name_space = name_spaces; - no_files = 1; - - /* Setup the i18n */ -#ifdef ENABLE_NLS - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); -#endif - - if (argc < 2) - usage (); - if (argc == 2 && !strcmp (argv[1], "-l")) - { - list_signals (); - return 0; - } - find_net_dev(); - while (--argc) - { - argv++; - if (**argv == '-') - if (!argv[0][1]) - { - flags = 0; - sig_number = SIGKILL; - } - else - while (*++*argv) - { - int end; - - end = 0; - switch (**argv) - { - case 'a': - all = 1; - break; - case 'f': - break; - case 'k': - flags |= FLAG_KILL; - do_kill = 1; - break; - case 'i': - flags |= FLAG_ASK; - break; - case 'm': - case 'c': - flags |= FLAG_DEV; - break; - case 'n': - if (!--argc) - usage (); - argv++; - for (name_space = name_spaces; name_space->name; - name_space++) - if (!strcmp (*argv, name_space->name)) - break; - if (!name_space->name) - usage (); - end = 1; - break; - case 's': - silent = 1; - break; - case 'u': - flags |= FLAG_UID; - break; - case 'v': - flags |= FLAG_VERB; - break; - case 'V': - print_version(); - return 0; - case '4': - if (ipv6only) - usage(); - ipv4only = 1; - break; - case '6': - if (ipv4only) - usage(); - ipv6only = 1; - break; - default: - if (isupper (**argv) || isdigit (**argv)) - { - sig_number = get_signal (*argv, "fuser"); - argv[0][1] = 0; - break; - } - usage (); - } - if (end) - break; - } - else - { - SPACE_DSC *this_name_space; - struct stat st; - char *here; - - no_files = 0; - last_named = NULL; - this_name_space = name_space; - if (name_space != name_spaces || stat (*argv, &st) < 0) - { - here = strchr (*argv, '/'); - if (here && here != *argv) - { - for (this_name_space = name_spaces; this_name_space->name; - this_name_space++) - if (!strcmp (here + 1, this_name_space->name)) - { - *here = 0; - break; - } - if (!this_name_space->name) - this_name_space = name_spaces; - } - } - if (this_name_space == name_spaces) - { - if (stat (*argv, &st) < 0) - { - perror (*argv); - continue; - } - if (flags & FLAG_DEV) - { - if (S_ISBLK (st.st_mode)) - st.st_dev = st.st_rdev; - else if (S_ISDIR (st.st_mode)) - { - if (stat (*argv, &st) < 0) - { - perror (*argv); - continue; - } - } - } - if (S_ISSOCK (st.st_mode) || (flags & FLAG_DEV)) - fill_unix_cache (); - if (!S_ISSOCK (st.st_mode) || (flags & FLAG_DEV)) - enter_item (*argv, flags, sig_number, st.st_dev, st.st_ino, - NULL); - else - { - UNIX_CACHE *walk; - - for (walk = unix_cache; walk; walk = walk->next) - if (walk->fs_dev == st.st_dev && walk->fs_ino == - st.st_ino) - enter_item (*argv, flags, sig_number, net_dev, - walk->net_ino, NULL); - } - } - else - { - NET_CACHE *walk; - struct sockaddr_storage rmt_addr; - int lcl_port, rmt_port; - - if (flags & FLAG_DEV) - { - fprintf (stderr, _("ignoring -m in name space \"%s\"\n"), - this_name_space->name); - flags &= ~FLAG_DEV; - } - fill_net_cache (this_name_space); - if (!parse_inet (*argv, this_name_space->name, &lcl_port, - &rmt_addr, &rmt_port)) - { - fprintf (stderr, _("%s/%s: invalid specification\n"), *argv, - this_name_space->name); - continue; - } - for (walk = this_name_space->cache; walk; walk = walk->next) - if ((lcl_port == -1 || walk->lcl_port == lcl_port) && - (rmt_addr.ss_family == 0 || ( memcmp( - &((struct sockaddr_in6*)&walk->rmt_addr)->sin6_addr, - &((struct sockaddr_in6*)&rmt_addr)->sin6_addr, - sizeof(struct in6_addr)) == 0) ) && - (rmt_port == -1 || walk->rmt_port == rmt_port)) - enter_item (*argv, flags, sig_number, net_dev, walk->ino, - this_name_space); - } - } - } - if (no_files || (all && silent)) - usage (); - scan_fd (); - scan_mounts (); - scan_swaps (); - if (do_kill && seteuid (getuid ()) < 0) - { - perror ("seteuid"); - return 1; - } - self = getpid (); - if (silent) - kill_files (); - else - show_files_or_kill (); - return found_item ? 0 : 1; -} diff --git a/src/peekfd.c b/src/peekfd.c index 4c3a570..c4a3474 100644 --- a/src/peekfd.c +++ b/src/peekfd.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -57,6 +58,24 @@ #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 @@ -70,7 +89,9 @@ void detach(void) { } void attach(pid_t pid) { - attached_pids[0] = 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; @@ -103,7 +124,7 @@ void usage() { " Press CTRL-C to end output.\n")); } -int bufdiff(int pid, unsigned char *lastbuf, unsigned int addr, unsigned int len) { +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)) @@ -126,7 +147,7 @@ int main(int argc, char **argv) struct option options[] = { {"eight-bit-clean", 0, NULL, '8'}, {"no-headers", 0, NULL, 'n'}, - {"follow", 0, NULL, 'f'}, + {"follow", 0, NULL, 'c'}, {"duplicates-removed", 0, NULL, 'd'}, {"help", 0, NULL, 'h'}, {"version", 0, NULL, 'V'}, @@ -178,7 +199,7 @@ int main(int argc, char **argv) numfds = argc - optind; fds = malloc(sizeof(int) * numfds); for (i = 0; i < numfds; i++) - fds[i] = atoi(argv[optind + 1 + i]); + fds[i] = atoi(argv[optind + i]); } attach(target_pid); @@ -197,15 +218,26 @@ int main(int argc, char **argv) for(;;) { int status; - int pid = wait(&status); + pid_t pid = wait(&status); if (WIFSTOPPED(status)) { #ifdef PPC struct pt_regs regs; - regs.gpr[0] = ptrace(PTRACE_PEEKUSER, pid, 4 * PT_R0, 0); - regs.gpr[3] = ptrace(PTRACE_PEEKUSER, pid, 4 * PT_R3, 0); - regs.gpr[4] = ptrace(PTRACE_PEEKUSER, pid, 4 * PT_R4, 0); - regs.gpr[5] = ptrace(PTRACE_PEEKUSER, pid, 4 * PT_R5, 0); - regs.orig_gpr3 = ptrace(PTRACE_PEEKUSER, pid, 4 * PT_ORIG_R3, 0); + 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); @@ -239,7 +271,11 @@ int main(int argc, char **argv) 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 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 index a85c7bc..db57244 100644 --- a/src/pstree.c +++ b/src/pstree.c @@ -2,7 +2,7 @@ * pstree.c - display process tree * * Copyright (C) 1993-2002 Werner Almesberger - * Copyright (C) 2002-2005 Craig Small + * 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 @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -46,506 +47,591 @@ #ifdef WITH_SELINUX #include -#endif /*WITH_SELINUX*/ +#endif /*WITH_SELINUX */ extern const char *__progname; -#ifndef MAX_DEPTH -#define MAX_DEPTH 100 -#endif #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 + 1]; - 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; - uid_t uid; +#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*/ - int highlight; - struct _child *children; - struct _proc *parent; - struct _proc *next; -} -PROC; - -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 = -{ + 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_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; -static int width[MAX_DEPTH], more[MAX_DEPTH]; -static int print_args = 0, compact = 1, user_change = 0, pids = 0, by_pid = 0, - trunc = 1, wait_end = 0; + +/* 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*/ +#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 dumped = 0; /* used by dump_by_user */ +static int charlen = 0; /* length of character */ - -static void -out_char (char c) +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) { - cur_x += (c & 0xc0) != 0x80; /* only count first UTF-8 char */ - if (cur_x <= output_width || !trunc) - putchar (c); - if (cur_x == output_width + 1 && trunc && ((c & 0xc0) != 0x80)) - { - if (last_char || (c & 0x80)) - putchar ('+'); - else - { - last_char = c; - cur_x--; - return; - } - } + 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_string (const char *str) +static void out_char(char c) { - while (*str) - out_char (*str++); + 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 int -out_int (int x) /* non-negative integers only */ +static void out_string(const char *str) { - 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; + 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 ) +static void out_scontext(security_context_t scontext) { out_string("`"); out_string(scontext); out_string("'"); } -#endif /*WITH_SELINUX*/ - +#endif /*WITH_SELINUX */ -static void -out_newline (void) + +static void out_newline(void) { - if (last_char && cur_x == output_width) - putchar (last_char); - last_char = 0; - putchar ('\n'); - cur_x = 1; + 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) +static PROC *find_proc(pid_t pid) { - PROC *walk; + PROC *walk; - for (walk = list; walk; walk = walk->next) - if (walk->pid == pid) - break; - return 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*/ +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; + PROC *new; - if (!(new = malloc (sizeof (PROC)))) - { - perror ("malloc"); - exit (1); + if (!(new = malloc(sizeof(PROC)))) { + perror("malloc"); + exit(1); } - strcpy (new->comm, comm); - new->pid = pid; - new->uid = uid; - new->highlight = 0; + 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; + 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) +static void add_child(PROC * parent, PROC * child) { - CHILD *new, **walk; - int cmp; + CHILD *new, **walk; + int cmp; - if (!(new = malloc (sizeof (CHILD)))) - { - perror ("malloc"); - exit (1); + 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; + 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) +static void set_args(PROC * this, const char *args, int size) { - char *start; - int i; + char *start; + int i; - if (!size) - { - this->argc = -1; - return; + 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); + 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 = 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; + 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, uid_t uid, - const char *args, int size, security_context_t scontext) -#else /*WITH_SELINUX*/ +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, uid_t uid, - const char *args, int size) -#endif /*WITH_SELINUX*/ +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; + PROC *this, *parent; - if (!(this = find_proc (pid))) + 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 - { - strcpy (this->comm, comm); - this->uid = uid; + 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; - if (!(parent = find_proc (ppid))) + 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 /*WITH_SELINUX*/ - add_child (parent, this); - this->parent = parent; + 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) +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); + 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) +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; - char comm_tmp[5]; - - if (!current) - return; - if (level >= MAX_DEPTH - 1) - { - fprintf (stderr, _("Internal error: MAX_DEPTH not big enough.\n")); - exit (1); + 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 (!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 (current->highlight && (tmp = tgetstr ("md", NULL))) - tputs (tmp, 1, putchar); - swapped = info = print_args; - if (swapped && current->argc < 0) - out_char ('('); - comm_len = 0; - for (here = current->comm; *here; here++) - if (*here == '\\') - { - out_string ("\\\\"); - comm_len += 2; - } - else if (*here > ' ' && *here <= '~') - { - out_char (*here); - comm_len++; - } - else - { - sprintf (comm_tmp, "\\%03o", (unsigned char) *here); - out_string (comm_tmp); - comm_len += 4; - } - offset = cur_x; - if (pids) - { - out_char(info++ ? ',' : '('); - (void) out_int (current->pid); - } - 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); + 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->highlight && (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) - for (here = current->argv[i]; *here; here++) - if (*here > ' ' && *here <= '~') - out_char (*here); - else - { - sprintf (comm_tmp, "\\%03o", (unsigned char) *here); - out_string (comm_tmp); - } - else - { - out_string ("..."); - break; - } - } + 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*/ + if (show_scontext || print_args || !current->children) +#else /*WITH_SELINUX */ + if (print_args || !current->children) +#endif /*WITH_SELINUX */ { - while (closing--) - out_char (']'); - out_newline (); -#ifdef WITH_SELINUX - if ( show_scontext || print_args ) -#else /*WITH_SELINUX*/ - if (print_args) -#endif /*WITH_SELINUX*/ - { - more[level] = !last; - width[level] = swapped + (comm_len > 1 ? 0 : -1); - for (walk = current->children; walk; walk = walk->next) - dump_tree (walk->child, level + 1, 1, 0, !walk->next, - current->uid, 0); - } + while (closing--) + out_char(']'); + out_newline(); } - else + ensure_buffer_capacity(level); + more[level] = !last; + +#ifdef WITH_SELINUX + if (show_scontext || print_args) +#else /*WITH_SELINUX */ + if (print_args) +#endif /*WITH_SELINUX */ { - more[level] = !last; - width[level] = comm_len + cur_x - offset + add; - if (cur_x >= output_width && trunc) - { - out_string (sym->first_3); - out_string ("+"); - out_newline (); - } - else - { - 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)); - } - } + 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) +static void dump_by_user(PROC * current, uid_t uid) { - const CHILD *walk; + 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; - 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); + PROC * parent = current->parent; + + if (!parent) + return; + + parent->children = NULL; + add_child(parent, current); + trim_tree_by_parent(parent); } @@ -553,394 +639,426 @@ dump_by_user (PROC * current, uid_t uid) * 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) +static void read_proc(void) { DIR *dir; struct dirent *de; FILE *file; struct stat st; - char *path, comm[COMM_LEN + 1]; + char *path, *comm; char *buffer; - char readbuf[BUFSIZ+1]; - char *tmpptr; - pid_t pid, ppid; + 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*/ + 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 ((size_t) (output_width + 1)))) - { - perror ("malloc"); - exit (1); - } - if (!(dir = opendir (PROC_BASE))) - { - perror (PROC_BASE); - exit (1); - } + 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) - if ((pid = (pid_t) atoi (de->d_name)) != 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); + 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); - } - fread(readbuf, BUFSIZ, 1, file) ; - if (ferror(file) == 0) - { - memset(comm, '\0', COMM_LEN+1); - tmpptr = strrchr(readbuf, ')'); /* find last ) */ - /* We now have readbuf with pid and cmd, and tmpptr+2 - * with the rest */ - /*printf("readbuf: %s\n", readbuf);*/ - if (sscanf(readbuf, "%*d (%15[^)]", comm) == 1) - { - /*printf("tmpptr: %s\n", tmpptr+2);*/ - if (sscanf(tmpptr+2, "%*c %d", &ppid) == 1) - { -/* - if (fscanf - (file, "%d (%s) %c %d", &dummy, comm, (char *) &dummy, - &ppid) == 4) - */ - { - 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(strlen(comm) + 3))) { - exit (2); - } - sprintf(threadname,"{%s}",comm); - while ((dt = readdir(taskdir)) != NULL) { - if ((thread=atoi(dt->d_name)) !=0) { - if (thread != pid) { + 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, st.st_uid, threadname, strlen(threadname)+1, scontext); - else - add_proc(threadname, thread, pid, st.st_uid, NULL, 0, scontext); -#else /*WITH_SELINUX*/ - if (print_args) - add_proc(threadname, thread, pid, st.st_uid, threadname, strlen(threadname)+1); - else - add_proc(threadname, thread, pid, st.st_uid, NULL, 0); -#endif /*WITH_SELINUX*/ - } - } - } - free(threadname); - (void) closedir(taskdir); - } - free(taskpath); - } - - if (!print_args) + 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, st.st_uid, NULL, 0, scontext); -#else /*WITH_SELINUX*/ - add_proc (comm, pid, ppid, st.st_uid, NULL, 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, (size_t) output_width)) < 0) - { - perror (path); - exit (1); - } - (void) close (fd); - if (size) - buffer[size++] = 0; + 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, st.st_uid, buffer, size, scontext); -#else /*WITH_SELINUX*/ - add_proc (comm, pid, ppid, st.st_uid, buffer, size); -#endif /*WITH_SELINUX*/ - } - } - } - } - (void) fclose (file); - } - free (path); + 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); } - (void) closedir (dir); - if (print_args) - free (buffer); - if (empty) - { - fprintf (stderr, _("%s is empty (not mounted ?)\n"), PROC_BASE) ; - exit (1); + 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); + } } - -#if 0 - -/* Could use output of ps achlx | awk '{ print $3,$4,$2,$13 }' */ - -static void -read_stdin (void) +static void fix_orphans(void) { - char comm[PATH_MAX + 1]; - char *cmd; - int pid, ppid, uid; + /* 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; - while (scanf ("%d %d %d %s\n", &pid, &ppid, &uid, comm) == 4) - { - if (cmd = strrchr (comm, '/')) - cmd++; - else - cmd = comm; - if (*cmd == '-') - cmd++; + if (!(root = find_proc(ROOT_PID))) { #ifdef WITH_SELINUX - add_proc(cmd, pid, ppid, uid, NULL, 0, NULL); -#else /*WITH_SELINUX*/ - add_proc (cmd, pid, ppid, uid, NULL, 0); -#endif /*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) +static void usage(void) { - fprintf (stderr, _( - "Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n" - " [ -A | -G | -U ] [ PID | USER ]\n" - " pstree -V\n" - "Display a tree of processes.\n\n" - " -a show command line arguments\n" - " -A use ASCII line drawing characters\n" - " -c don't compact identical subtrees\n" - " -h highlight current process and its ancestors\n" - " -H PID highlight this process and its ancestors\n" - " -G use VT100 line drawing characters\n" - " -l don't truncate long lines\n" - " -n sort output by PID\n" - " -p show PIDs; implies -c\n" - " -u show uid transitions\n" - " -U use UTF-8 (Unicode) line drawing characters\n" - " -V display version information\n")); + 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); + 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-2005 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")); + 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) +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; - int c; - - if (ioctl (1, TIOCGWINSZ, &winsz) >= 0) - if (winsz.ws_col) - output_width = winsz.ws_col; - pid = 1; - highlight = 0; - pw = NULL; - + 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); + 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 (!strcmp(__progname, "pstree.x11")) + wait_end = 1; - 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. + * Attempt to figure out a good default symbol set. Will be overriden by + * command-line options, if given. */ - /* problems with VT100 on some terminals, making this ascci - * for now - */ - sym = &sym_ascii; - } else { - /* Otherwise, fall back to ASCII. */ - sym = &sym_ascii; - } + + 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 (argc, argv, "aAcGhH:npluUVZ")) != EOF) -#else /*WITH_SELINUX*/ - while ((c = getopt (argc, argv, "aAcGhH:npluUV")) != EOF) -#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 'u': - user_change = 1; - break; - case 'U': - sym = &sym_utf; - break; - case 'V': - print_version(); - return 0; + 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])) - { - if (!(pid = (pid_t) atoi (argv[optind++]))) - 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->highlight = 1; - if (!pw) - dump_tree (find_proc (pid), 0, 1, 1, 1, 0, 0); - else - { - dump_by_user (find_proc (1), pw->pw_uid); - if (!dumped) - { - fprintf (stderr, _("No processes found.\n")); - return 1; - } + 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 (wait_end == 1) { - fprintf(stderr, _("Press return to close\n")); - (void)getchar(); - } - return 0; + 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/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: