diff -Nru eject-2.1.5+deb1+cvs20081104/aclocal.m4 eject-2.1.5/aclocal.m4 --- eject-2.1.5+deb1+cvs20081104/aclocal.m4 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/aclocal.m4 2006-06-04 01:59:07.000000000 +0000 @@ -1,715 +1,919 @@ -# generated automatically by aclocal 1.10.1 -*- Autoconf -*- +dnl aclocal.m4 generated automatically by aclocal 1.4-p6 -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(AC_AUTOCONF_VERSION, [2.61],, -[m4_warning([this file was generated for autoconf 2.61. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_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' -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.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +# lib-prefix.m4 serial 4 (gettext-0.14.2) +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi ]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi ]) -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 -# 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 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 -# 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 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" fi - 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 + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +# lib-link.m4 serial 6 (gettext-0.14.3) +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ(2.50) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) else - 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_$1_dependencies_compiler_type=$depmode - break + additional_includedir="$withval/include" + additional_libdir="$withval/lib" fi fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 3 - -# _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 -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" +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi done -done -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008 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 13 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.60])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' else - CYGPATH_W=echo + PATH_SEPARATOR=: fi + rm -f conf$$.sh fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# 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"} -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005 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_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# 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 + AC_MSG_CHECKING([for non-GNU ld]) fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU ]) -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Do all the work for Automake. This macro actually does too much -- +# some checks are only needed if your package does certain things. +# But this isn't really a big deal. -# serial 5 +# serial 1 -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) +dnl Usage: +dnl AM_INIT_AUTOMAKE(package,version, [no-define]) +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL]) +PACKAGE=[$1] +AC_SUBST(PACKAGE) +VERSION=[$2] +AC_SUBST(VERSION) +dnl test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi +ifelse([$3],, +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) +AC_REQUIRE([AM_SANITY_CHECK]) +AC_REQUIRE([AC_ARG_PROGRAM]) +dnl FIXME This is truly gross. +missing_dir=`cd $ac_aux_dir && pwd` +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) +AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) +AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +AC_REQUIRE([AC_PROG_MAKE_SET])]) + +# Copyright 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) +# 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 -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) -# Helper functions for option handling. -*- Autoconf -*- +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.4-p6])]) -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. +# Check to make sure that the build environment is sane. # -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 -# AM_SANITY_CHECK -# --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 -echo timestamp > conftest.file +echo timestamp > conftestfile # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then + set X `ls -Lt $srcdir/configure conftestfile 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 conftestfile` fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then + if test "[$]*" != "X $srcdir/configure conftestfile" \ + && test "[$]*" != "X conftestfile $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -719,7 +923,7 @@ alias in your environment]) fi - test "$[2]" = conftest.file + test "[$]2" = conftestfile ) then # Ok. @@ -728,141 +932,35 @@ AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi +rm -f conftest* AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) +dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) +dnl The program must properly implement --version. +AC_DEFUN([AM_MISSING_PROG], +[AC_MSG_CHECKING(for working $2) +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if ($2 --version) < /dev/null > /dev/null 2>&1; then + $1=$2 + AC_MSG_RESULT(found) +else + $1="$3/missing $2" + AC_MSG_RESULT(missing) fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac +AC_SUBST($1)]) - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir +# Define a conditional. -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR +AC_DEFUN([AM_CONDITIONAL], +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi]) diff -Nru eject-2.1.5+deb1+cvs20081104/config.h.in eject-2.1.5/config.h.in --- eject-2.1.5+deb1+cvs20081104/config.h.in 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -/* Define to 1 if you have the `asprintf' function. */ -#undef HAVE_ASPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `regcomp' function. */ -#undef HAVE_REGCOMP - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const diff -Nru eject-2.1.5+deb1+cvs20081104/configure eject-2.1.5/configure --- eject-2.1.5+deb1+cvs20081104/configure 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/configure 2006-06-04 01:59:11.000000000 +0000 @@ -1,54 +1,25 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61. +# Generated by GNU Autoconf 2.59. # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh +# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - 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=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then @@ -58,43 +29,8 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); 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 -done +$as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' @@ -108,19 +44,18 @@ 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 + $as_unset $as_var fi done # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then +if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -128,388 +63,157 @@ # Name of the executable. -as_me=`$as_basename -- "$0" || +as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - 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 -} + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` -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 +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi -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 + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done -( - 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= + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - case $as_dir in + for as_base in sh bash ksh sh5; do + 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 - - - 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 - -fi - - -: -_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 -} - - - + if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line 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. + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop - s/-\n.*// + s,-$,, + s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && - chmod +x "$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" + # original and so on. Autoconf is especially sensible 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';; +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then +if expr a : '\(a\)' >/dev/null 2>&1; 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 || + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null +rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -518,28 +222,7 @@ 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_executable_p="test -f" # 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'" @@ -548,27 +231,39 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH -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` +exec 6>&1 + # # 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} +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= @@ -580,133 +275,42 @@ # Factoring default headers for most tests. ac_includes_default="\ #include -#ifdef HAVE_SYS_TYPES_H +#if HAVE_SYS_TYPES_H # include #endif -#ifdef HAVE_SYS_STAT_H +#if HAVE_SYS_STAT_H # include #endif -#ifdef STDC_HEADERS +#if STDC_HEADERS # include # include #else -# ifdef HAVE_STDLIB_H +# if HAVE_STDLIB_H # include # endif #endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif -#ifdef HAVE_STRINGS_H +#if HAVE_STRINGS_H # include #endif -#ifdef HAVE_INTTYPES_H +#if HAVE_INTTYPES_H # include +#else +# if HAVE_STDINT_H +# include +# endif #endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H +#if HAVE_UNISTD_H # include #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -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 -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -DEFAULTDEVICE -USE_NLS_TRUE -USE_NLS_FALSE -CPP -GREP -EGREP -LIBOBJS -LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEFAULTDEVICE USE_NLS_TRUE USE_NLS_FALSE CPP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - # Initialize some variables set by options. ac_init_help= @@ -733,48 +337,34 @@ # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' +datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' +infodir='${prefix}/info' +mandir='${prefix}/man' ac_prev= -ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option + eval "$ac_prev=\$ac_option" ac_prev= continue fi - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; + case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -796,45 +386,33 @@ --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad) + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) datadir=$ac_optarg ;; - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + 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 ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + 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 ;; + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -861,12 +439,6 @@ -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -891,16 +463,13 @@ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -965,16 +534,6 @@ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -1027,20 +586,24 @@ -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + 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 ;; + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + 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 ;; + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. @@ -1071,7 +634,8 @@ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) @@ -1091,19 +655,27 @@ { (exit 1); exit 1; }; } fi -# Be sure to have absolute directory names. -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 +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix do - eval ac_val=\$$ac_var + eval ac_val=$`echo $ac_var` case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -1130,76 +702,74 @@ 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; }; } -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; }; } - - # 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" || + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then + if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi 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 +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP # # Report the --help message. @@ -1228,6 +798,9 @@ -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] +_ACEOF + + cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] @@ -1245,22 +818,15 @@ --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] --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/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF @@ -1279,8 +845,6 @@ Optional Features: --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-default-device set default CD-ROM device [default=cdrom] --disable-nls disable support for nls [default=enable] @@ -1289,95 +853,126 @@ 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 - you have headers in a nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF -ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. + ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue + test -d $ac_dir || continue ac_builddir=. -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) +if test "$ac_dir" != .; then ac_dir_suffix=/`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,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi case $srcdir in - .) # We are building in place. + .) # No --srcdir option. We are building in place. ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } + fi + cd "$ac_popdir" done fi -test -n "$ac_init_help" && exit $ac_status +test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -configure -generated by GNU Autoconf 2.61 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit + exit 0 fi -cat >config.log <<_ACEOF +exec 5>config.log +cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.61. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ _ACEOF -exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -1396,7 +991,7 @@ /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` +hostinfo = `(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` @@ -1410,7 +1005,6 @@ test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done -IFS=$as_save_IFS } >&5 @@ -1432,6 +1026,7 @@ ac_configure_args= ac_configure_args0= ac_configure_args1= +ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -1442,7 +1037,7 @@ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; - *\'*) + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in @@ -1464,7 +1059,9 @@ -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " ;; esac done @@ -1475,8 +1072,8 @@ # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { @@ -1489,34 +1086,20 @@ _ASBOX echo # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { 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;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done +{ (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; - esac | - sort -) + esac; +} echo cat <<\_ASBOX @@ -1527,28 +1110,22 @@ 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"`;; - esac - echo "$ac_var='\''$ac_val'\''" + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## +## ------------- ## +## Output files. ## +## ------------- ## _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"`;; - esac - echo "$ac_var='\''$ac_val'\''" + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi @@ -1560,24 +1137,26 @@ ## ----------- ## _ASBOX echo - cat confdefs.h + sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status -' 0 + ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); 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 +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h # Predefined preprocessor variables. @@ -1608,17 +1187,14 @@ # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi fi -shift -for ac_site_file -do +for ac_site_file in $CONFIG_SITE; 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;} @@ -1634,8 +1210,8 @@ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; esac fi else @@ -1647,11 +1223,12 @@ # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 @@ -1676,7 +1253,8 @@ # 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=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -1693,6 +1271,11 @@ { (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 @@ -1709,45 +1292,34 @@ -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 -am__api_version='1.10' +am__api_version="1.4" ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break - elif test -f "$ac_dir/install.sh"; then + elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break - elif test -f "$ac_dir/shtool"; then + elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -1762,8 +1334,8 @@ # 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; } +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 @@ -1785,7 +1357,7 @@ # 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_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. @@ -1804,22 +1376,21 @@ ;; esac done -IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is - # removed, or if the value is a relative name. + # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -1829,25 +1400,24 @@ 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; } +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 -echo timestamp > conftest.file +echo timestamp > conftestfile # 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 conftestfile 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 conftestfile` fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then + if test "$*" != "X $srcdir/configure conftestfile" \ + && test "$*" != "X conftestfile $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -1860,7 +1430,7 @@ { (exit 1); exit 1; }; } fi - test "$2" = conftest.file + test "$2" = conftestfile ) then # Ok. @@ -1872,189 +1442,61 @@ Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +rm -f conftest* +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" + 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" + program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # 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 - -# 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" -# 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;} -fi - -{ 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; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - 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; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ 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 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -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; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi +rm conftest.sed - - 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 "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF -SHELL = /bin/sh all: - @echo '@@@%%%=$(MAKE)=@@@%%%' + @echo 'ac_maketemp="$(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 +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi 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; } +if eval "test \"`echo '$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; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi +PACKAGE=eject -# Define the identity of the package. - PACKAGE=eject - VERSION=2.1.5 +VERSION=2.1.5 +if test "`cd $srcdir && pwd`" != "`pwd`" && 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; }; } +fi cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" @@ -2065,39 +1507,101 @@ #define VERSION "$VERSION" _ACEOF -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} +missing_dir=`cd $ac_aux_dir && pwd` +echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5 +echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + ACLOCAL=aclocal-${am__api_version} + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working autoconf" >&5 +echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (autoconf --version) < /dev/null > /dev/null 2>&1; then + AUTOCONF=autoconf + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOCONF="$missing_dir/missing autoconf" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5 +echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then + AUTOMAKE=automake-${am__api_version} + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOMAKE="$missing_dir/missing automake-${am__api_version}" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working autoheader" >&5 +echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (autoheader --version) < /dev/null > /dev/null 2>&1; then + AUTOHEADER=autoheader + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + AUTOHEADER="$missing_dir/missing autoheader" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi + +echo "$as_me:$LINENO: checking for working makeinfo" >&5 +echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if (makeinfo --version) < /dev/null > /dev/null 2>&1; then + MAKEINFO=makeinfo + echo "$as_me:$LINENO: result: found" >&5 +echo "${ECHO_T}found" >&6 +else + MAKEINFO="$missing_dir/missing makeinfo" + echo "$as_me:$LINENO: result: missing" >&5 +echo "${ECHO_T}missing" >&6 +fi -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then +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 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 @@ -2105,39 +1609,37 @@ 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" + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -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 + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +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 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 @@ -2145,71 +1647,36 @@ 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" + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -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 + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - 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 - STRIP=$ac_ct_STRIP - fi + CC=$ac_ct_CC 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 -' - - - - - -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 -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 @@ -2222,34 +1689,32 @@ 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" + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } + # 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_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -2262,91 +1727,36 @@ 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" + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -IFS=$as_save_IFS fi 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; } + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 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 + CC=$ac_ct_CC 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. -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 - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +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 @@ -2360,7 +1770,7 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2371,7 +1781,6 @@ 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. @@ -2389,23 +1798,22 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe + for ac_prog in cl 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; } +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 @@ -2418,38 +1826,36 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl.exe + for ac_prog in cl 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; } +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 else @@ -2462,45 +1868,29 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done -IFS=$as_save_IFS fi 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; } + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - test -n "$ac_ct_CC" && break done - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ 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 + CC=$ac_ct_CC fi fi @@ -2513,35 +1903,21 @@ { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 +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 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (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 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (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 +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } @@ -2566,77 +1942,47 @@ # 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; } +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. -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_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext break;; * ) break;; esac done -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 sed 's/^/| /' conftest.$ac_ext >&5 @@ -2648,21 +1994,19 @@ fi ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 -# Check that the compiler produces executables we can run. If not, either +# Check 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; } +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 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then @@ -2681,27 +2025,22 @@ fi fi fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 rm -f a.out 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 +# Check 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" -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 +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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then @@ -2712,8 +2051,9 @@ 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext break;; * ) break;; esac @@ -2727,14 +2067,14 @@ fi rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -2754,20 +2094,14 @@ } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac @@ -2785,12 +2119,12 @@ 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; } +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ echo "$as_me:$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; } +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -2813,49 +2147,49 @@ } _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no +ac_compiler_gnu=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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; } +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; } +CFLAGS="-g" +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 + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2871,118 +2205,37 @@ } _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes 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 -/* end confdefs.h. */ - -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 - : -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 -/* end confdefs.h. */ - -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_prog_cc_g=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.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_prog_cc_g=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +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 @@ -2998,12 +2251,12 @@ CFLAGS= fi 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 "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_prog_cc_c89=no + ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3037,17 +2290,12 @@ /* 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 + as 'x'. The following induces an error, until -std1 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. */ + that's true only with -std1. */ 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);}; @@ -3062,254 +2310,230 @@ return 0; } _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" 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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break +rm -f conftest.err conftest.$ac_objext done -rm -f conftest.$ac_ext +rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC 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; } ;; + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&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; } ;; + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>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); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>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); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -{ 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 +continue +fi +rm -f 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 +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>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); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break else - 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 - fi - done + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none fi - +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Check whether --enable-default-device was given. +# Check whether --enable-default-device or --disable-default-device was given. if test "${enable_default_device+set}" = set; then - enableval=$enable_default_device; DEFAULTDEVICE=$enableval + enableval="$enable_default_device" + DEFAULTDEVICE=$enableval else DEFAULTDEVICE=cdrom -fi +fi; - -# Check whether --enable-nls was given. +# Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then - enableval=$enable_nls; use_nls=$enableval + enableval="$enable_nls" + use_nls=$enableval else use_nls=yes -fi - +fi; if test "x$use_nls" != "xno" ; then CFLAGS="$CFLAGS -DUSE_NLS=1" fi - if test "x$use_nls" != "xno"; then + + +if test "x$use_nls" != "xno"; then USE_NLS_TRUE= USE_NLS_FALSE='#' else @@ -3318,16 +2542,13 @@ fi -ac_config_headers="$ac_config_headers config.h" - - 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; } +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= @@ -3361,22 +2582,24 @@ #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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 @@ -3385,10 +2608,9 @@ # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers + # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3398,22 +2620,24 @@ /* 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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else @@ -3424,7 +2648,6 @@ ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done @@ -3442,8 +2665,8 @@ else ac_cv_prog_CPP=$CPP fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } +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 @@ -3466,22 +2689,24 @@ #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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 @@ -3490,10 +2715,9 @@ # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers + # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3503,22 +2727,24 @@ /* 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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else @@ -3529,7 +2755,6 @@ ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done @@ -3552,218 +2777,74 @@ 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 "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - 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 + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' fi - # 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 +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep -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 +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 - ac_cv_path_GREP=$GREP -fi + 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 - -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 () -{ +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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdc=no +ac_cv_header_stdc=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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. @@ -3819,7 +2900,6 @@ 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)) @@ -3839,27 +2919,18 @@ for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - return 2; - return 0; + exit(2); + exit (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 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then @@ -3872,14 +2943,12 @@ ( 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 +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - - fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +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 @@ -3888,8 +2957,8 @@ 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; } +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 @@ -3902,7 +2971,7 @@ #include #include #ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) @@ -3919,34 +2988,37 @@ } _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_header_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_sys_wait_h=no +ac_cv_header_sys_wait_h=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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; } +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 @@ -3969,9 +3041,9 @@ 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 "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -3985,35 +3057,37 @@ #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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_Header=no" +eval "$as_ac_Header=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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; } +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 @@ -4030,19 +3104,18 @@ for ac_header in fcntl.h sys/ioctl.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 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +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 @@ -4053,37 +3126,40 @@ #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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no +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; } +rm -f 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; } +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 @@ -4092,22 +3168,24 @@ /* 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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 @@ -4115,10 +3193,9 @@ 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; } +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 @@ -4142,19 +3219,25 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 ;; esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { 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 eval "test \"\${$as_ac_Header+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; } +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then @@ -4167,8 +3250,8 @@ 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; } +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 @@ -4186,10 +3269,10 @@ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; - const charset cs; + const charset x; /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; + char const *const *ccp; + char **p; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; @@ -4198,17 +3281,16 @@ an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); + ccp = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; { /* 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}; @@ -4227,9 +3309,7 @@ } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; - if (!foo) return 0; } - return !cs[0] && !zero.x; #endif ; @@ -4237,34 +3317,37 @@ } _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_c_const=no +ac_cv_c_const=no fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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; } +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 @@ -4277,13 +3360,12 @@ - -for ac_func in regcomp strdup strerror asprintf +for ac_func in regcomp strdup strerror 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 "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF @@ -4309,60 +3391,67 @@ #undef $ac_func -/* 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. */ +/* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" +{ #endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif int main () { -return $ac_func (); +return f != $ac_func; ; 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 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - eval "$as_ac_var=no" +eval "$as_ac_var=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +rm -f conftest.err conftest.$ac_objext \ 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; } +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 @@ -4373,17 +3462,17 @@ if test "${ac_cv_header_linux_version_h+set}" = set; then - { echo "$as_me:$LINENO: checking for linux/version.h" >&5 -echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6; } + echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 if test "${ac_cv_header_linux_version_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 -echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6; } +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 else # Is the header compilable? -{ echo "$as_me:$LINENO: checking linux/version.h usability" >&5 -echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking linux/version.h usability" >&5 +echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4394,37 +3483,40 @@ #include _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no +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; } +rm -f 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 linux/version.h presence" >&5 -echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking linux/version.h presence" >&5 +echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4433,22 +3525,24 @@ /* 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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 @@ -4456,10 +3550,9 @@ 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; } +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 @@ -4483,18 +3576,25 @@ echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: linux/version.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: linux/version.h: in the future, the compiler will take precedence" >&2;} - + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 ;; esac -{ echo "$as_me:$LINENO: checking for linux/version.h" >&5 -echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 if test "${ac_cv_header_linux_version_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_linux_version_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 -echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6; } +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 fi if test $ac_cv_header_linux_version_h = yes; then @@ -4504,17 +3604,17 @@ unset ac_cv_header_linux_version_h CPPFLAGS="$CPPFLAGS -I/usr/src/linux/include" if test "${ac_cv_header_linux_version_h+set}" = set; then - { echo "$as_me:$LINENO: checking for linux/version.h" >&5 -echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6; } + echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 if test "${ac_cv_header_linux_version_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 -echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6; } +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 else # Is the header compilable? -{ echo "$as_me:$LINENO: checking linux/version.h usability" >&5 -echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking linux/version.h usability" >&5 +echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4525,37 +3625,40 @@ #include _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 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no +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; } +rm -f 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 linux/version.h presence" >&5 -echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking linux/version.h presence" >&5 +echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4564,22 +3667,24 @@ /* 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 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 @@ -4587,10 +3692,9 @@ 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; } +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 @@ -4614,18 +3718,25 @@ echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: linux/version.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: linux/version.h: in the future, the compiler will take precedence" >&2;} - + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 ;; esac -{ echo "$as_me:$LINENO: checking for linux/version.h" >&5 -echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6; } +echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 if test "${ac_cv_header_linux_version_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_linux_version_h=$ac_header_preproc fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 -echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6; } +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 fi if test $ac_cv_header_linux_version_h = yes; then @@ -4640,8 +3751,7 @@ -ac_config_files="$ac_config_files Makefile" - + ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -4660,58 +3770,39 @@ # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. +# So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { 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;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - +{ (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( + ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; - esac | - sort -) | + esac; +} | sed ' - /^ac_cv_env_/b end t clear - :clear + : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\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 "updating cache $cache_file" cat confcache >$cache_file else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} + echo "not updating unwritable cache $cache_file" fi fi rm -f confcache @@ -4720,45 +3811,69 @@ # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -DEFS=-DHAVE_CONFIG_H +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ 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/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed + ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`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' + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${USE_NLS_TRUE}" && test -z "${USE_NLS_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"USE_NLS\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"USE_NLS\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -4783,45 +3898,17 @@ ## M4sh Initialization. ## ## --------------------- ## -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh +# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - 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=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then @@ -4831,43 +3918,8 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); 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 -done +$as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' @@ -4881,19 +3933,18 @@ 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 + $as_unset $as_var fi done # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then +if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -4901,120 +3952,159 @@ # Name of the executable. -as_me=`$as_basename -- "$0" || +as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line 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. + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop - s/-\n.*// + s,-$,, + s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" + # original and so on. Autoconf is especially sensible 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';; +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then +if expr a : '\(a\)' >/dev/null 2>&1; 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 || + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null +rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -5023,28 +4113,7 @@ 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_executable_p="test -f" # 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'" @@ -5053,14 +4122,31 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + exec 6>&1 -# Save the log message, to keep $[0] and so on meaningful, and to +# Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + This file was extended by $as_me, which was -generated by GNU Autoconf 2.61. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5068,20 +4154,30 @@ CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi -_ACEOF +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi cat >>$CONFIG_STATUS <<\_ACEOF + ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. @@ -5089,41 +4185,30 @@ Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit + -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE Configuration files: $config_files -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - Report bugs to ." - _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2006 Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' +srcdir=$srcdir +INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF @@ -5134,24 +4219,39 @@ do case $1 in --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; - *) + -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; esac case $ac_option in # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift @@ -5161,24 +4261,18 @@ $ac_shift CONFIG_HEADERS="$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; }; };; - --help | --hel | -h ) - 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 + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; + *) ac_config_targets="$ac_config_targets $1" ;; esac shift @@ -5194,456 +4288,341 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF 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 - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# Handling of arguments. + +cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES 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; }; };; esac done - # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, +# simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. +# Create a temporary directory, and hook for its removal unless debugging. $debug || { - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } + # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + # -# Set up the sed scripts for CONFIG_FILES section. +# CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./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 -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$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 -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -DEFAULTDEVICE!$DEFAULTDEVICE$ac_delim -USE_NLS_TRUE!$USE_NLS_TRUE$ac_delim -USE_NLS_FALSE!$USE_NLS_FALSE$ac_delim -CPP!$CPP$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; 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!! " +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEFAULTDEVICE@,$DEFAULTDEVICE,;t t +s,@USE_NLS_TRUE@,$USE_NLS_TRUE,;t t +s,@USE_NLS_FALSE@,$USE_NLS_FALSE,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat 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` -fi +fi # test -n "$CONFIG_FILES" -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_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 _ACEOF - - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ 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/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -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; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { 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; }; };; - esac - ac_file_inputs="$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." - 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;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; esac - ac_dir=`$as_dirname -- "$ac_file" || + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || + 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"; } || { + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_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" || + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` 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;} + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } + ac_builddir=. -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) +if test "$ac_dir" != .; then ac_dir_suffix=/`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,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi case $srcdir in - .) # We are building in place. + .) # No --srcdir option. We are building in place. ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac - case $ac_mode in - :F) - # - # CONFIG_FILE - # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# 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/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $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;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi +_ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub @@ -5651,302 +4630,29 @@ cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out - -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" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :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 +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin 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;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi + mv $tmp/out $ac_file else - echo "/* $configure_input */" - cat "$ac_result" + cat $tmp/out + rm -f $tmp/out fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_arg=$ac_file -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -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 -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" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -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" | - 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" || { { 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 - ;; - - esac -done # for ac_tag +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF diff -Nru eject-2.1.5+deb1+cvs20081104/configure.in eject-2.1.5/configure.in --- eject-2.1.5+deb1+cvs20081104/configure.in 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/configure.in 2006-06-04 01:58:18.000000000 +0000 @@ -20,7 +20,6 @@ AM_CONDITIONAL(USE_NLS, test "x$use_nls" != "xno") dnl Checks for header files. -AC_CONFIG_HEADERS(config.h) AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h) @@ -29,7 +28,7 @@ AC_C_CONST dnl Checks for library functions. -AC_CHECK_FUNCS(regcomp strdup strerror asprintf) +AC_CHECK_FUNCS(regcomp strdup strerror) dnl only try standard kernel paths if the toolchain dnl is unable to locate linux includes by itself diff -Nru eject-2.1.5+deb1+cvs20081104/CVS/Entries eject-2.1.5/CVS/Entries --- eject-2.1.5+deb1+cvs20081104/CVS/Entries 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/CVS/Entries 2006-06-04 02:06:43.000000000 +0000 @@ -0,0 +1,22 @@ +/AUTHORS/1.1.1.1/Sun Jul 24 23:19:19 2005// +/COPYING/1.1.1.1/Sun Jul 24 23:19:20 2005// +/INSTALL/1.1.1.1/Sun Jul 24 23:19:19 2005// +/Makefile.am/1.3/Wed Sep 28 02:49:48 2005// +/PORTING/1.1.1.1/Sun Jul 24 23:19:19 2005// +/PROBLEMS/1.1.1.1/Sun Jul 24 23:19:19 2005// +/README/1.1.1.1/Sun Jul 24 23:19:19 2005// +/TODO/1.1.1.1/Sun Jul 24 23:19:19 2005// +/bootstrap/1.2/Sun Dec 25 01:53:51 2005// +/eject.1/1.5/Sun Dec 11 00:21:06 2005// +/eject.c/1.8/Sat Feb 11 01:54:38 2006// +/i18n.h/1.3/Tue Sep 27 23:31:02 2005// +/volname.1/1.1.1.1/Sun Jul 24 23:19:20 2005// +/volname.c/1.2/Thu Aug 25 01:17:51 2005// +D/debian//// +D/po//// +/.cvsignore/1.3/Sun Jun 4 02:06:10 2006// +/ChangeLog/1.6/Sun Jun 4 01:56:42 2006// +/NEWS/1.6/Sun Jun 4 01:58:52 2006// +/configure.in/1.8/Sun Jun 4 01:58:18 2006// +/eject-2.1.5.lsm/1.1/Sun Jun 4 02:01:49 2006// +/eject-2.1.5.spec/1.1/Sun Jun 4 02:01:53 2006// diff -Nru eject-2.1.5+deb1+cvs20081104/CVS/Repository eject-2.1.5/CVS/Repository --- eject-2.1.5+deb1+cvs20081104/CVS/Repository 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/CVS/Repository 2006-06-02 01:41:10.000000000 +0000 @@ -0,0 +1 @@ +eject/eject diff -Nru eject-2.1.5+deb1+cvs20081104/CVS/Root eject-2.1.5/CVS/Root --- eject-2.1.5+deb1+cvs20081104/CVS/Root 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/CVS/Root 2006-06-02 01:41:10.000000000 +0000 @@ -0,0 +1 @@ +:ext:tranter@eject.cvs.sourceforge.net:/cvsroot/eject diff -Nru eject-2.1.5+deb1+cvs20081104/.cvsignore eject-2.1.5/.cvsignore --- eject-2.1.5+deb1+cvs20081104/.cvsignore 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.cvsignore 2006-06-04 02:06:10.000000000 +0000 @@ -0,0 +1,17 @@ +.deps +.in +Makefile +Makefile.in +aclocal.m4 +build +config.guess +config.log +config.status +config.sub +configure +depcomp +eject +install-sh +missing +mkinstalldirs +volname diff -Nru eject-2.1.5+deb1+cvs20081104/debian/changelog eject-2.1.5/debian/changelog --- eject-2.1.5+deb1+cvs20081104/debian/changelog 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/changelog 2014-06-13 11:29:25.000000000 +0000 @@ -1,577 +1,44 @@ -eject (2.1.5+deb1+cvs20081104-13.1) unstable; urgency=low +eject (1:2.1.5-1yavdr1~trusty) trusty; urgency=medium - [ Ankit Sinha ] - * Non-maintainer upload. - * eject now iterates through /dev/device_name[0-9] - (LP: #795239, Closes: #719110) + * fixed eject package from https://aur.archlinux.org/packages.php?ID=51466 - [ Bart Martens ] - * debian/rules: Create directory debian/eject-udeb if it doesn't exist yet. + -- Alexander Grothe Fri, 13 Jun 2014 13:28:11 +0200 - -- Gianfranco Costamagna Fri, 14 Feb 2014 22:17:11 +0100 - -eject (2.1.5+deb1+cvs20081104-13) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Kannada (Mallikarjuna). Closes: #694409 - - [ Frank Lichtenheld ] - * debian/rules: Set CC correctly if cross-building. - Patch by Colin Watson. Closes: #694837 - - -- Frank Lichtenheld Sun, 23 Dec 2012 23:30:02 +0100 - -eject (2.1.5+deb1+cvs20081104-12) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Serbian (Karolina Kalic). Closes: #691286 - - Serbian Latin (Karolina Kalic). Closes: #691287 - - -- Frank Lichtenheld Fri, 23 Nov 2012 23:55:16 +0100 - -eject (2.1.5+deb1+cvs20081104-11) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Slovenian (Vanja Cvelbar). Closes: #670618 - - Latvian (Rūdolfs Mazurs). Closes: #674693 - - Welsh (Daffyd Tomos). - - [ Frank Lichtenheld ] - * Declare Multi-Arch: foreign. Requested by Helmut Grohne. - Closes: #676780 - * Use dpkg-buildflags for hand-built dmcrypt-get-device, too. - * Use hardening=+all - * Added build dependency on dpkg-dev (>= 1.16.1~) for the changes - above - * Bump Standards-Version to 3.9.3 (no changes) - - -- Frank Lichtenheld Mon, 25 Jun 2012 01:29:01 +0200 - -eject (2.1.5+deb1+cvs20081104-10) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Serbian Latin (Janos Guljas). Closes: #600141 - - Ukrainian (Anton Gladky). Closes: #654298 - - [ Frank Lichtenheld ] - * Fix handling of mount points with spaces in name again, - got broken when importing upstream patches. - * Always send ioctl to main device file, not partitions. - Thanks to Kristof Provost. Closes: #659904 - - -- Frank Lichtenheld Mon, 20 Feb 2012 01:07:09 +0100 - -eject (2.1.5+deb1+cvs20081104-9) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Nepali (Nabin Gautam). Closes: #614691 - - Sinhala (Danishka Navin). Closes: #640758, #640936 - - * Program translations: - - Danish (Joe Hansen). Closes: #626731 - - [ Frank Lichtenheld ] - * Debconf translations: - - Uyghur (Sahran). Closes: #627010 - * Bump Standards-Version to 3.9.2 (no changes) - * Bump debian/compat to 9 - - -- Frank Lichtenheld Fri, 02 Dec 2011 21:55:35 +0100 - -eject (2.1.5+deb1+cvs20081104-8) unstable; urgency=low - - * Bump Standards-Version to 3.9.1: - - Use kfreebsd-any in Build-Depends - * Convert debian/rules to use dh - * Apply patch to avoid -X side-effects by Adam Buchbinder. - Fixes Ubuntu bug #136971 - * Import openSUSE patches by Anna Bernáthová: - - use CDROM_DRIVE_STATUS in toggle (bnc#374526) - - check host_status and driver_status when using SG_IO (bnc#358033) - - * Program translations: - - Slovenian (Andrej Znidarsic). Closes: #603674 - - Portuguese (Américo Monteiro). Closes: #567898 - - -- Frank Lichtenheld Sat, 19 Feb 2011 19:47:14 +0100 - -eject (2.1.5+deb1+cvs20081104-7.1) unstable; urgency=low - - * Non-maintainer upload to fix pending debconf translations - (Debian Installer menu entries) - * Debconf translations: - - Simplified Chinese (Ming Hua). - - Persian (Vahid Ghaderi). Closes: #587021 - - Kazakh (Sarsenov D.). Closes: #587101 - - Bosnian (Armin Beširović). Closes: #587101 - - Icelandic (Sveinn í Felli). - - Serbian (Janos Guljas). Closes: #600140 - - Greek (Kostas Papadimas). Closes: #604450 - - Italian updated (Milo Casagrande). Closes: #559505 - - -- Christian Perrier Sun, 19 Dec 2010 09:13:58 +0100 - -eject (2.1.5+deb1+cvs20081104-7) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Bengali added. - - Telugu (Veeven) added. Closes: #544043 - - [ Frank Lichtenheld ] - * Bump Standards-Version to 3.8.2 (no changes) - - * Program translations: - - Italian updated. Closes: #534349 - - -- Frank Lichtenheld Mon, 26 Oct 2009 17:43:50 +0100 - -eject (2.1.5+deb1+cvs20081104-6) unstable; urgency=low - - * Only try to open the device read/write if not root. - (Partly addresses #522859) - - * Bump Standards-Version to 3.8.1 (no changes) - - * Program translations: - - Swedish updated. Closes: #517512 - - -- Frank Lichtenheld Sun, 19 Apr 2009 01:33:10 +0200 - -eject (2.1.5+deb1+cvs20081104-5) unstable; urgency=low - - * Upload to unstable. - - -- Frank Lichtenheld Sat, 21 Feb 2009 16:17:28 +0100 - -eject (2.1.5+deb1+cvs20081104-4) experimental; urgency=low - - * Fix segfault I introduced while merging the patches from - upstream CVS. DeMangleMount does not strdup the string - anymore, remove one now superfluous free(). - - -- Frank Lichtenheld Sat, 14 Feb 2009 11:27:35 +0100 - -eject (2.1.5+deb1+cvs20081104-3) experimental; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Asturian added. Closes: #511142 - - Kazakh added. Closes: #514589 - - -- Frank Lichtenheld Mon, 09 Feb 2009 21:24:28 +0100 - -eject (2.1.5+deb1+cvs20081104-2) experimental; urgency=low - - * Fix building on kFreeBSD. - - -- Frank Lichtenheld Wed, 05 Nov 2008 22:53:18 +0100 - -eject (2.1.5+deb1+cvs20081104-1) experimental; urgency=low - - * Added pending patches from upstream CVS - * Added patches from Ubuntu submitted by Martin Pitt: - + Fix cdrom speed detection if /proc/sys/dev/cdrom/info references a - symlink. LP: #264071, Closes: #504480 - + Ignore EIO on ioctl(CDROMEJECT) during -T. LP: #91873, - Closes: #504478 - * Fix some typos in Debian changelog. Reported by Paul Menzel. - Closes: #501287, #501288 - - -- Frank Lichtenheld Thu, 23 Oct 2008 22:37:51 +0200 - -eject (2.1.5+deb1-4) unstable; urgency=medium - - [ Christian Perrier ] - * Debconf translations: - - Wolof added (sent directly by translator) - - -- Frank Lichtenheld Wed, 01 Oct 2008 14:58:09 +0200 - -eject (2.1.5+deb1-3) unstable; urgency=medium - - [ Christian Perrier ] - * Debconf translations: - - Khmer added (sent directly by translator) - - -- Frank Lichtenheld Fri, 26 Sep 2008 23:36:33 +0200 - -eject (2.1.5+deb1-2) unstable; urgency=low - - [ Christian Perrier ] - * Debconf translations: - - Hindi added (sent directly by the translator) - - Marathi added (sent directly by the translator) - - Croatian added - - Georgian added. Closes: #498419 - - -- Frank Lichtenheld Sat, 13 Sep 2008 18:20:39 +0200 - -eject (2.1.5+deb1-1) unstable; urgency=low - - * Create new upstream tarball so that we can get rid of - these strange named .po files. Closes: #336792, #336810 - * New git repository online, add Vcs-* fields. - * Add Homepage field. - * Debconf translations: - - Lithuanian added. Closes: #490779 - - -- Frank Lichtenheld Sun, 20 Jul 2008 23:42:07 +0200 - -eject (2.1.5-10) unstable; urgency=medium - - * Debconf translations: - - Belarusian added. Closes: #488624 - - Slovak added. Closes: #488892 - * Bump Standards-Version to 3.8.0. - - -- Frank Lichtenheld Mon, 07 Jul 2008 00:24:13 +0200 - -eject (2.1.5-9) unstable; urgency=low - - * Program translations: - - Turkish updated. Closes: #482406 - * Debconf translations: - - Turkish added. Closes: #482715 - - Esperanto added. Closes: #478957 - (this was added in -8 as a program translation, but - is really a debconf translation) - - -- Frank Lichtenheld Wed, 28 May 2008 22:09:22 +0200 - -eject (2.1.5-8) unstable; urgency=low - - * Don't issue an error message about missing dmcrypt script. - This avoids some spurios warnings in d-i. Closes: #470760 - * Debhelper: - - Increase compat level to 6 - - Use dh_lintian to install override. Needs - build-depends debhelper >= 6.0.7. - * Debconf translations: - - Albanian added. Closes: #480280 - - Belarusian added. Closes: #480922 - - Irish added. Closes: #480876 - * Program translations: - - Eperanto added. Closes: #478957 - - -- Frank Lichtenheld Mon, 12 May 2008 21:05:46 +0200 - -eject (2.1.5-7) unstable; urgency=low - - * Debconf translations: - - Malayalam added. Closes: #456514 - - Catalan added. Closes: #465525 - - Taiwanese Chinese added. Closes: #464859 - * Program translations: - - Português/Brasil updated. Closes: #450498 - - Italian added. Closes: #472098 - * Bump Standards-Version to 3.7.3 (no changes) - * Remove Vcs-* header since the old CVS repository - is no more and the converted git repository is - broken and needs to be redone. - - -- Frank Lichtenheld Fri, 18 Apr 2008 21:45:37 +0200 - -eject (2.1.5-6) unstable; urgency=low - - [ Frank Lichtenheld ] - * Add homepage to watch file since eject's version on ibiblio - is very outdated - * Added Vcs-Browser field - * Debconf translations: - - Korean updated. Closes: #446253 - - Finnish added. Closes: #448374 - - [ Christian Perrier ] - * Debconf translations: - - Norwegian Nynorsk added (sent directly by translator). - - -- Frank Lichtenheld Mon, 17 Sep 2007 19:15:31 +0200 - -eject (2.1.5-5) unstable; urgency=low - - * L10n updates only - - [ Christian Perrier ] - * Debconf translations: - - Nepali added. Closes: #435341 - - Korean added. Closes: #437469 - - Gujarati added. Closes: #438830 - - -- Frank Lichtenheld Sun, 26 Aug 2007 18:03:28 +0200 - -eject (2.1.5-4) unstable; urgency=medium - - [ Frank Lichtenheld ] - * devmapper is a linux concept and can't be used on kfreebsd: - - do not build-depend on libdevmapper-dev - - do not try to build the devmapper helper program - * since the changes don't affect Debian release archs, use - higher urgency to not delay testing migration too long - - [ Christian Perrier ] - * Debconf translations: - - Arabic added. Closes: #433052 - - -- Frank Lichtenheld Mon, 23 Jul 2007 22:12:39 +0200 +eject (2.1.5-1) unstable; urgency=low -eject (2.1.5-3) unstable; urgency=low + * new upstream release - [ Frank Lichtenheld ] - * Finally merge the devmapper patch from Ubuntu. - If that will break anything, now seems to be the - right time to try it :). Patch mostly by Martin - Pitt. Closes: #388350 - * Some clean-up afterwards: - - Add appropriate infos in debian/copyright - - Add missing header inclusion in dmcrypt-get-device.c - - use CC instead of hardcoded "gcc" in debian/rules - (This is probably not enough to ensure things like - working cross-compile. But I only want to regenerate - the whole auto* stuff if someone actually needs it) - * Other clean-up: - - Fix lintian warning debian-rules-ignores-make-clean-error - - Add lintian override for setuid binary - - [ Christian Perrier ] - * Debconf translations: - - Hebrew updated. Closes: #425737 - - Tamil added. Closes: #430113 - - Dzongkha added. Closes: #430626 + -- Jeff Tranter Sat, 3 Jun 2006 21:57:00 +0500 - -- Frank Lichtenheld Thu, 05 Jul 2007 17:57:00 +0200 +eject (2.1.4-1) unstable; urgency=low -eject (2.1.5-2) unstable; urgency=low + * new upstream release - [ Frank Lichtenheld ] - * Remove support for Linux kernels older than 2.1. It don't - think anyone will miss it and it makes the build process more - robust. (For now it works around #423462) + -- Jeff Tranter Sat, 10 Dec 2005 19:10:00 +0500 - [ Christian Perrier ] - * Debconf translations: - - Dutch updated. Closes: #424680 +eject (2.1.3-1) unstable; urgency=low - -- Frank Lichtenheld Fri, 18 May 2007 22:52:02 +0200 + * new upstream release -eject (2.1.5-1) unstable; urgency=low + -- Jeff Tranter Sat, 1 Oct 2005 15:55:00 +0400 - [ Frank Lichtenheld ] - * New upstream release (Closes: #394531) +eject (2.1.2-1) unstable; urgency=low - [ Christian Perrier ] - * Debconf translations: - - French updated and converted to UTF-8 - - Thai added. Closes: #422757 - - Basque added. Closes: #422782 - - Bulgarian added. Closes: #422816 - - Czech updated. Closes: #422818 - - Brazilian Portuguese added. Closes: #422856 - - Swedish updated. Closes: #422868 - - Simplified Chinese added. Closes: #423139 - - -- Frank Lichtenheld Thu, 10 May 2007 15:21:29 +0200 - -eject (2.1.4-4) unstable; urgency=low - - * Multiply installer-menu-item number by 100 - as requested by Joey Hess (960 -> 96000). - (Closes: #418607) - - -- Frank Lichtenheld Tue, 10 Apr 2007 23:22:32 +0200 - -eject (2.1.4-3) unstable; urgency=high - - * Acknowledge NMU (Closes: #375536) - * Urgency high to give the thing a chance to make it for - d-i RC2 - * debian/po/gl.po: Add translation by Jacobo Tarrio. - (Closes: #405402) - * po/pt_BR.po, po/cs_CZ.po, po/tr_TR.po: Add new and - updated translations from 2.1.5 - * debian/copyright: Update URL of project homepage. - - -- Frank Lichtenheld Thu, 28 Sep 2006 14:30:45 +0200 - -eject (2.1.4-2.1) unstable; urgency=low - - * Non-Maintainer Upload - * Correct capitalization of field names in templates file (closes: #375536). - * Revert priority change for the udeb; it was not the cause of the menu - title not being shown. - - -- Frans Pop Tue, 11 Jul 2006 23:15:08 +0200 - -eject (2.1.4-2) unstable; urgency=low - - * debian/po/da.po: Add translation by Claus Hindsgaul. - (Closes: #350043) - * debian/po/es.po: Add translation by Daniel Franganillo. (#344192) - * po/sv_SE.po: Updated translation by Daniel Nylander - * po/es_ES.po: Updated translation by Daniel Franganillo. - (Closes: #344192) - * Increase priority of udeb to standard so that the menu - item gets displayed. - * Try to open devices for writing, too. Some eject methods seem - to require this. Still fallback to read-only opening in case - we don't have write access. (Closes: #366408) - * Fix handling of mount points with spaces in their name. I solved - this but copying quite some code from util-linux. Better solutions - welcome... - * Bump Standards-Version to 3.7.2 (no changes). + * new upstream release - -- Frank Lichtenheld Sun, 11 Dec 2005 23:19:54 +0100 + -- Jeff Tranter Wed, 24 Aug 2005 20:15:00 +0400 -eject (2.1.4-1) unstable; urgency=low +eject (2.1.1-1) unstable; urgency=low - * New upstream release - + Includes complete Debian patch (without po/), yay :) - + Sanitized tarball again: removed debian/ and all CVS/ subdirectories, - removed .cvsignore and replaced the symlinks again - * Fix copyright years in eject.c which I fucked up in my 2.1.3 merge - (also fix copyright years in debian/copyright which I forgot to - update) - * po/de_DE.po: Improved translation + * new upstream release - -- Frank Lichtenheld Sun, 11 Dec 2005 16:08:15 +0100 + -- Jeff Tranter Tue, 23 Aug 2005 20:14:00 +0400 -eject (2.1.3-1) unstable; urgency=low +eject (2.1.0-1) unstable; urgency=low - * New upstream release (Closes: #342479) - + I sanitized the tarball: I removed debian/ and autom4te.cache/ - and replaced the autotools symlinks with the real files - * po/sv_SE.po: Updated translation (2.0.13deb-18) by - Daniel Nylander (Closes: #336656) - * po/de_DE.po: Updated translation (2.1.3-1) by me - * debian/po/pt.po: New translation by Simão Pedro Cardoso - (Closes: #336929) - * eject.1: Fix some newly introduced hyphen errors - * Use debhelper compat level 5 and update build-dependencies - accordingly - * debian/rules: New upstream release allows more sane CFLAGS handling - - -- Frank Lichtenheld Sun, 6 Nov 2005 22:34:16 +0100 - -eject (2.0.13deb-18) unstable; urgency=low - - * Update upstream .pot file and unfuzzy translations where possible. - Thanks to Daniel Nylander for noticing. - - -- Frank Lichtenheld Sat, 8 Oct 2005 18:30:30 +0200 - -eject (2.0.13deb-17) unstable; urgency=low - - * Christopher Martin suggested that it might be a good idea - to merge the pmount patch from Ubuntu. I'm still not convinced - that this is a particulary good hack but lets do it nevertheless - in absence of better ideas. (Closes: #331276) - * debian/po/sv.po: Added translation by Daniel Nylander - (Closes: #331340) - * po/sv_SE.po: Added translation by Daniel Nylander (Closes: #332226) - * Reword the Description a bit. Remove long sentence about auto-eject - feature and add one about the other uses of eject than CD-ROMs. - - -- Frank Lichtenheld Wed, 5 Oct 2005 12:31:03 +0200 - -eject (2.0.13deb-16) unstable; urgency=medium - - * Fix a segfault when unmounting more than one partition of - a multi partition device (double regfree). Why has never anyone - hit this bug in so many years? - * Update FSF Address in debian/copyright - * Since I've added me to the copyright statement in eject.c - some time ago, make this in debian/copyright, too - - -- Frank Lichtenheld Tue, 20 Sep 2005 01:34:54 +0200 - -eject (2.0.13deb-15) unstable; urgency=low - - * Drop -fomit-frame-pointers on m68k since gcc 4.0 produces - an ICE with it. Seems to be already fixed in gcc-snapshot - so hopefully this is only needed temporarily - * Add build dependency to a dpkg-dev which supports - DEB_HOST_ARCH_CPU - - -- Frank Lichtenheld Thu, 8 Sep 2005 17:16:24 +0200 - -eject (2.0.13deb-14) unstable; urgency=low - - * Apply patch by Robert Millan for GNU/kFreeBSD support - (Closes: #324569) - - -- Frank Lichtenheld Sat, 27 Aug 2005 14:30:51 +0200 - -eject (2.0.13deb-13) unstable; urgency=low - - * Build with -Os -fomit-frame-pointer on request of - Joey Hess (this reduces the size of the binary and - thereby of the udeb) (Closes: #314362) - * Bump Standards-Version to 3.6.2 (no changes) - - -- Frank Lichtenheld Fri, 1 Jul 2005 17:01:21 +0200 - -eject (2.0.13deb-12) unstable; urgency=low - - * The Ubuntu translations were partly mangled, - clean-up: - - debian/po/pl.po: use corrected file - - debian/po/{nb,hu}.po: convert back to utf-8 - Thanks to Colin Watson for the help - (again Closes: #303252) - * debian/po/vi.po: Added translation by Clytie Siddall - (Closes: #311626) - - -- Frank Lichtenheld Mon, 9 May 2005 13:46:07 +0200 - -eject (2.0.13deb-11) unstable; urgency=low - - * Upload to unstable as d-i development is now - in unstable, too. - * debian/po/ru.po: Added translation by Basilius - (Closes: #300918) - * Translations from Ubuntu, provided by Colin Watson: - (Closes: #303252) - - debian/po/el.po by Kostas Papadimas - - debian/po/hu.po by Gabor Burjan - - debian/po/id.po by Yoppy Hidayanto - - debian/po/nb.po by Terance Edward Sola - - debian/po/pl.po by Dominik Zablotny - - debian/po/ro.po by Ovidiu Damian - - -- Frank Lichtenheld Wed, 23 Mar 2005 14:26:32 +0100 - -eject (2.0.13deb-10) experimental; urgency=low - - * eject.c: don't try to send ioctls to directories or - files. If we end up with them (because they exists, but - can not be mapped to a device by fstab) we try the next - possibility (Closes: #291422) - * po/es.po: Added translation of packages' gettext strings - by Daniel Franganillo (Closes: #295743) - - -- Frank Lichtenheld Fri, 4 Mar 2005 15:43:47 -0800 - -eject (2.0.13deb-9) experimental; urgency=low - - * debian/po/it.po: Added translation by Stefano Melchior - (Closes: #279014) - * volname.1: Document the fact that volname works on normal files, too. - * eject.c: - + Use newer SG_IO ioctl interface (Closes: #279568) - + Unmount by mountpoint, not by device name (Closes: #276657) - + Don't try to resolve symlinks when called with -p as - /proc/mounts doesn't resolve symlinks either (unlike /etc/mtab) - + Ignore errors that occour in ScsiEject at the BLKRRPART - ioctl(), there are just too many situations where this isn't - a valid action (e.g. when ejecting USB/IEEE1394 storage devices). - * README: Fix a typo + * new upstream release - -- Frank Lichtenheld Sun, 31 Oct 2004 17:48:07 +0100 + -- Jeff Tranter Sun, 1 May 2005 14:44:00 +0400 eject (2.0.13deb-8sarge2) unstable; urgency=low diff -Nru eject-2.1.5+deb1+cvs20081104/debian/compat eject-2.1.5/debian/compat --- eject-2.1.5+deb1+cvs20081104/debian/compat 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/compat 2005-07-24 23:19:20.000000000 +0000 @@ -1 +1 @@ -9 +4 diff -Nru eject-2.1.5+deb1+cvs20081104/debian/control eject-2.1.5/debian/control --- eject-2.1.5+deb1+cvs20081104/debian/control 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/control 2005-07-24 23:19:20.000000000 +0000 @@ -1,32 +1,28 @@ Source: eject Section: utils Priority: optional -Build-Depends: gettext, dpkg-dev (>= 1.16.1~), debhelper (>= 9~), autotools-dev, libdevmapper-dev [!kfreebsd-any], libsgutils2-dev +Build-Depends: gettext, debhelper (>= 4.2) Maintainer: Frank Lichtenheld -Standards-Version: 3.9.3 -Vcs-Git: git://git.debian.org/git/collab-maint/eject.git -Vcs-Browser: http://git.debian.org/?p=collab-maint/eject.git -Homepage: http://www.pobox.com/~tranter/eject.html +Standards-Version: 3.6.1 Package: eject Architecture: any -Multi-Arch: foreign Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: cdtool, setcd Description: ejects CDs and operates CD-Changers under Linux This little program will eject CD-ROMs (assuming your drive supports - the CDROMEJECT ioctl). It also allows setting the autoeject feature. + the CDROMEJECT ioctl). It also allows setting the autoeject feature, + currently supported by a number of the Linux CD-ROM drivers. See the + documentation in /usr/src/linux/Documentation for more information on + the autoeject feature. . On supported ATAPI/IDE multi-disc CD-ROM changers, it allows changing the active disc. - . - You can also use eject to properly disconnect external mass-storage - devices like digital cameras or portable music players. Package: eject-udeb Section: debian-installer XC-Package-Type: udeb -XB-Installer-Menu-Item: 96000 +XB-Installer-Menu-Item: 960 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: ejects CDs from d-i menu diff -Nru eject-2.1.5+deb1+cvs20081104/debian/copyright eject-2.1.5/debian/copyright --- eject-2.1.5+deb1+cvs20081104/debian/copyright 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/copyright 2005-07-24 23:19:20.000000000 +0000 @@ -11,14 +11,7 @@ It is now maintained by Frank Lichtenheld . -eject.c: - Copyright (C) 1994-2005 Jeff Tranter (tranter@pobox.com) - Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) -volname.c: - Copyright (C) 2000-2005 Jeff Tranter (tranter@pobox.com) -dmcrypt-get-device.c: - Copyright (c) 2005 Canonical Ltd. - (Author: Martin Pitt ) +Copyright (C) 1994-2005 Jeff Tranter (tranter@pobox.com) * 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,7 +25,7 @@ * * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. On Debian systems the full text of the GNU General Public Licence, version 2, can be found at /usr/share/common-licenses/GPL-2. diff -Nru eject-2.1.5+deb1+cvs20081104/debian/CVS/Entries eject-2.1.5/debian/CVS/Entries --- eject-2.1.5+deb1+cvs20081104/debian/CVS/Entries 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/CVS/Entries 2006-06-04 02:06:43.000000000 +0000 @@ -0,0 +1,10 @@ +/.cvsignore/1.1/Sun Jul 24 23:32:01 2005// +/compat/1.1.1.1/Sun Jul 24 23:19:20 2005// +/control/1.1.1.1/Sun Jul 24 23:19:20 2005// +/copyright/1.1.1.1/Sun Jul 24 23:19:20 2005// +/eject-udeb.postinst/1.1.1.1/Sun Jul 24 23:19:20 2005// +/eject-udeb.templates/1.1.1.1/Sun Jul 24 23:19:20 2005// +/rules/1.1.1.1/Sun Jul 24 23:19:20 2005// +/watch/1.1.1.1/Sun Jul 24 23:19:20 2005// +D/po//// +/changelog/1.6/Sun Jun 4 01:57:46 2006// diff -Nru eject-2.1.5+deb1+cvs20081104/debian/CVS/Repository eject-2.1.5/debian/CVS/Repository --- eject-2.1.5+deb1+cvs20081104/debian/CVS/Repository 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/CVS/Repository 2006-06-02 01:41:10.000000000 +0000 @@ -0,0 +1 @@ +eject/eject/debian diff -Nru eject-2.1.5+deb1+cvs20081104/debian/CVS/Root eject-2.1.5/debian/CVS/Root --- eject-2.1.5+deb1+cvs20081104/debian/CVS/Root 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/CVS/Root 2006-06-02 01:41:10.000000000 +0000 @@ -0,0 +1 @@ +:ext:tranter@eject.cvs.sourceforge.net:/cvsroot/eject diff -Nru eject-2.1.5+deb1+cvs20081104/debian/.cvsignore eject-2.1.5/debian/.cvsignore --- eject-2.1.5+deb1+cvs20081104/debian/.cvsignore 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/.cvsignore 2005-07-24 23:32:01.000000000 +0000 @@ -0,0 +1,6 @@ +eject +eject-udeb +eject-udeb.postrm.debhelper +eject-udeb.substvars +eject.substvars +files diff -Nru eject-2.1.5+deb1+cvs20081104/debian/eject.docs eject-2.1.5/debian/eject.docs --- eject-2.1.5+deb1+cvs20081104/debian/eject.docs 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/eject.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -README -NEWS -AUTHORS -TODO diff -Nru eject-2.1.5+deb1+cvs20081104/debian/eject.lintian-overrides eject-2.1.5/debian/eject.lintian-overrides --- eject-2.1.5+deb1+cvs20081104/debian/eject.lintian-overrides 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/eject.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -eject: setuid-binary usr/lib/eject/dmcrypt-get-device 4755 root/root diff -Nru eject-2.1.5+deb1+cvs20081104/debian/eject-udeb.templates eject-2.1.5/debian/eject-udeb.templates --- eject-2.1.5+deb1+cvs20081104/debian/eject-udeb.templates 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/eject-udeb.templates 2005-07-24 23:19:20.000000000 +0000 @@ -1,3 +1,3 @@ Template: debian-installer/eject-udeb/title Type: text -_Description: Eject a CD from the drive +_description: Eject a CD from the drive diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.1-verbose.patch eject-2.1.5/debian/patches/eject-2.1.1-verbose.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.1-verbose.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.1-verbose.patch 2014-06-13 11:22:21.000000000 +0000 @@ -0,0 +1,15 @@ +diff --git a/eject.c b/eject.c +index b14d5f2..662ba54 100644 +--- a/eject.c ++++ b/eject.c +@@ -709,7 +709,9 @@ static int EjectScsi(int fd) + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { +- printf("not an sg device, or old sg driver\n"); ++ if (v_option) { ++ printf(_("not an sg device, or old sg driver\n")); ++ } + return 0; + } + diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-lock.patch eject-2.1.5/debian/patches/eject-2.1.5-lock.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-lock.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.5-lock.patch 2014-06-13 11:27:51.000000000 +0000 @@ -0,0 +1,167 @@ + eject.1 | 13 +++++++++++-- + eject.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 63 insertions(+), 4 deletions(-) + +--- a/eject.1 ++++ b/eject.1 +@@ -17,6 +17,8 @@ + .br + eject [\-vn] \-c slot [] + .br ++eject [\-vn] \-i on|off|1|0 [] ++.br + eject [\-vn] \-t [] + .br + eject [\-vn] \-T [] +@@ -83,6 +85,13 @@ + the changer is referred to as 0, not 1. + + .TP 0.5i ++.B \-i on|1|off|0 ++This option controls locking of the hardware eject button. When ++enabled, the drive will not be ejected when the button is pressed. ++This is useful when you are carrying a laptop in a bag or case and ++don't want it to eject if the button is inadvertently pressed. ++ ++.TP 0.5i + .B \-t + With this option the drive is given a CD-ROM tray close command. Not + all devices support this command. +@@ -121,8 +130,8 @@ + .B \-r + This option specifies that the drive should be ejected using a + CDROM eject command. +-.TP 0.5i + ++.TP 0.5i + .B \-s + This option specifies that the drive should be ejected using + SCSI commands. +@@ -145,7 +154,7 @@ + .TP 0.5i + .B \-m + This option allows eject to work with device drivers which automatically +-mount removable media and therefore must be always mount()ed. ++mount removable media and therefore must be always mount(1)ed. + The option tells eject to not try to unmount the given device, + even if it is mounted according to /etc/mtab or /proc/mounts. + +--- a/eject.c ++++ b/eject.c +@@ -116,6 +116,7 @@ + int f_option = 0; + int h_option = 0; + int n_option = 0; ++int i_option = 0; + int q_option = 0; + int r_option = 0; + int s_option = 0; +@@ -129,6 +130,7 @@ + int a_arg = 0; + int c_arg = 0; + int x_arg = 0; ++int i_arg = 0; + static char *programName; /* used in error messages */ + + /* +@@ -163,6 +165,7 @@ + " eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" + " eject [-vn] -t [] -- close tray\n" + " eject [-vn] -T [] -- toggle tray\n" ++" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" + " eject [-vn] -x [] -- set CD-ROM max speed\n" + " eject [-vn] -X [] -- list CD-ROM available speeds\n" + "Options:\n" +@@ -200,7 +203,7 @@ + #endif + "\n" + " -n --noop -V --version\n" +-" -p --proc -m --no-unmount -T --traytoggle\n")); ++" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); + #endif /* GETOPTLONG */ + fprintf(stderr,_( + "Parameter can be a device file or a mount point.\n" +@@ -214,7 +217,7 @@ + /* Handle command line options. */ + static void parse_args(int argc, char **argv, char **device) + { +- const char *flags = "a:c:x:dfhnqrstTXvVpm"; ++ const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; + #ifdef GETOPTLONG + static struct option long_options[] = + { +@@ -223,6 +226,7 @@ + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, ++ {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, +@@ -297,6 +301,21 @@ + usage(); + exit(0); + break; ++ case 'i': ++ i_option = 1; ++ if (!strcmp(optarg, "0")) ++ i_arg = 0; ++ else if (!strcmp(optarg, "off")) ++ i_arg = 0; ++ else if (!strcmp(optarg, "1")) ++ i_arg = 1; ++ else if (!strcmp(optarg, "on")) ++ i_arg = 1; ++ else { ++ fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); ++ exit(1); ++ } ++ break; + case 'm': + m_option = 1; + break; +@@ -458,6 +477,30 @@ + } + + ++/* ++ * Stops CDROM from opening on manual eject pressing the button. ++ * This can be useful when you carry your laptop ++ * in your bag while it's on and no CD inserted in it's drive. ++ * Implemented as found in Documentation/ioctl/cdrom.txt ++ * ++ * TODO: Maybe we should check this also: ++ * EDRIVE_CANT_DO_THIS Door lock function not supported. ++ * EBUSY Attempt to unlock when multiple users ++ * have the drive open and not CAP_SYS_ADMIN ++ */ ++static void ManualEject(int fd, int onOff) ++{ ++ if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { ++ perror("ioctl on CDROM_LOCKDOOR"); ++ } else { ++ if (onOff) ++ printf("CD-Drive may NOT be ejected with device button\n"); ++ else ++ printf("CD-Drive may be ejected with device button\n"); ++ } ++} ++ ++ + /* Set or clear auto-eject mode. */ + static void AutoEject(int fd, int onOff) + { +@@ -1195,6 +1238,13 @@ + exit(0); + } + ++ /* handle -i option */ ++ if (i_option) { ++ fd = OpenDevice(deviceName); ++ ManualEject(fd, i_arg); ++ exit(0); ++ } ++ + /* handle -a option */ + if (a_option) { + if (v_option) { diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-openrw.patch eject-2.1.5/debian/patches/eject-2.1.5-openrw.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-openrw.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.5-openrw.patch 2014-06-13 11:22:21.000000000 +0000 @@ -0,0 +1,17 @@ +diff -pur eject-1/eject.c eject/eject.c +--- eject-1/eject.c 2011-08-19 11:42:22.697388647 +0400 ++++ eject/eject.c 2011-08-19 11:57:27.636724026 +0400 +@@ -911,7 +911,12 @@ static void Unmount(const char *fullName + /* Open a device file. */ + static int OpenDevice(const char *fullName) + { +- int fd = open(fullName, O_RDONLY|O_NONBLOCK); ++ int fd = open(fullName, O_RDWR|O_NONBLOCK); ++ if (fd == -1 && errno == EACCES) { ++ if (v_option) ++ printf(_("%s: unable to open `%s' for R/W, SCSI commands can be fail. Trying Read-Only\n"), programName, fullName); ++ fd = open(fullName, O_RDONLY|O_NONBLOCK); ++ } + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-spaces.patch eject-2.1.5/debian/patches/eject-2.1.5-spaces.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-spaces.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.5-spaces.patch 2014-06-13 11:27:55.000000000 +0000 @@ -0,0 +1,60 @@ +--- a/eject.c ++++ b/eject.c +@@ -389,6 +389,30 @@ + + + /* ++ * Linux mangles spaces in mount points by changing them to an octal string ++ * of '\040'. So lets scan the mount point and fix it up by replacing all ++ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable ++ * string as input as we mangle in place. Some of this was taken from the ++ * util-linux package. ++ */ ++#define octalify(a) ((a) & 7) ++#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) ++#define isoctal(a) (((a) & ~7) == '0') ++static char *DeMangleMount(char *s) ++{ ++ char *tmp = s; ++ while ((tmp = strchr(tmp, '\\')) != NULL) { ++ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { ++ tmp[0] = tooctal(tmp); ++ memmove(tmp+1, tmp+4, strlen(tmp)-3); ++ } ++ ++tmp; ++ } ++ return s; ++} ++ ++ ++/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') +@@ -917,6 +941,8 @@ + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; ++ DeMangleMount(s1); ++ DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { +@@ -963,6 +989,8 @@ + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); ++ DeMangleMount(s1); ++ DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); +@@ -1003,6 +1031,8 @@ + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { ++ DeMangleMount(s1); ++ DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-umount.patch eject-2.1.5/debian/patches/eject-2.1.5-umount.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-umount.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.5-umount.patch 2014-06-13 11:27:58.000000000 +0000 @@ -0,0 +1,174 @@ +--- a/eject.c ++++ b/eject.c +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #ifdef GETOPTLONG + #include +@@ -1125,6 +1126,145 @@ + return 0; + } + ++/* ++ * Find device name in /sys/block/. Returns NULL if not ++ * found. The returned pointer must be free()'d. ++ */ ++static char* FindDeviceSysBlock(const char* deviceName) ++{ ++ DIR *dir = opendir("/sys/block"); ++ struct dirent *d; ++ const char *baseName = strrchr(deviceName, '/'); ++ char *device; ++ int len; ++ ++ baseName = baseName ? baseName + 1 : deviceName; ++ if (!dir) { ++ fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); ++ return NULL; ++ } ++ while ((d = readdir(dir)) != NULL) { ++ if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) ++ continue; ++ len = strlen(d->d_name); ++ if (!strncmp(baseName, d->d_name, len)) { ++ if ((*(baseName+len) >= '0' && ++ *(baseName+len) <= '9') || ++ *(baseName+len) == '\0') { ++ device = strdup(d->d_name); ++ closedir(dir); ++ return device; ++ } ++ } ++ } ++ closedir(dir); ++ return NULL; ++} ++ ++/* ++ * From given path gets a subsystem. Returns subsystem if any found ++ * otherwise returns NULL. Returned value must not be free()'d ++ */ ++static char *GetSubSystem(const char *sysfspath) ++{ ++ static char subsystem[PATH_MAX]; ++ char link_subsystem[PATH_MAX]; ++ struct stat buf; ++ char *pos; ++ ++ snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); ++ ++ if (lstat(link_subsystem, &buf) == -1) ++ return NULL; ++ if (!S_ISLNK(buf.st_mode)) ++ return NULL; ++ if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) ++ return NULL; ++ if ((pos = strrchr(subsystem, '/')) == NULL) ++ return NULL; ++ strncpy(subsystem, pos+1, sizeof(subsystem)); ++ ++ return subsystem; ++} ++ ++/* ++ * Check content of /sys/block//removable. Returns 1 if the file ++ * contains '1' otherwise returns 0. ++ */ ++static int CheckRemovable(const char* deviceName) ++{ ++ FILE *fp; ++ int removable = 0; ++ char *device; ++ char path[PATH_MAX]; ++ ++ if ((device = FindDeviceSysBlock(deviceName)) == NULL) { ++ fprintf(stderr, ++ _("%s: did not find a device %s in /sys/block/\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ snprintf(path, sizeof(path), "/sys/block/%s/removable", device); ++ free(device); ++ if((fp = fopen(path, "r")) == NULL) ++ return removable; ++ if (fgetc(fp) == '1') ++ removable = 1; ++ ++ fclose(fp); ++ return removable; ++} ++ ++/* Check if a device is on hotpluggable subsystem. Returns 1 if is ++ * otherwise returns 0. ++ */ ++static int CheckHotpluggable(const char* deviceName) ++{ ++ int hotpluggable = 0; ++ char *device; ++ char path[PATH_MAX]; ++ char *device_chain; ++ struct stat buf; ++ char *subsystem; ++ char *pos; ++ ++ if ((device = FindDeviceSysBlock(deviceName)) == NULL) { ++ fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ snprintf(path, sizeof(path), "/sys/block/%s/device", device); ++ free(device); ++ ++ if (lstat(path, &buf) == -1) ++ return hotpluggable; ++ if (!S_ISLNK(buf.st_mode)) ++ return hotpluggable; ++ if ((device_chain = SymLink(path)) == NULL) ++ return hotpluggable; ++ while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { ++ subsystem = GetSubSystem(device_chain); ++ if (subsystem) { ++ /* as hotpluggable we assume devices on these buses */ ++ if (strncmp("usb", subsystem, sizeof("usb")) == 0 || ++ strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || ++ strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || ++ strncmp("mmc", subsystem, sizeof("mmc")) == 0 || ++ strncmp("ccw", subsystem, sizeof("ccw")) == 0) { ++ hotpluggable = 1; ++ break; ++ } ++ } ++ /* remove one member from devicechain */ ++ pos = strrchr(device_chain, '/'); ++ if (pos) ++ pos[0] = '\0'; ++ else ++ device_chain[0] = '\0'; ++ } ++ ++ return hotpluggable; ++} + + /* handle -x option */ + static void HandleXOption(char *deviceName) +@@ -1268,6 +1408,17 @@ + exit(0); + } + ++ /* Check if device has removable flag*/ ++ if (v_option) ++ printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), ++ programName, deviceName); ++ if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) ++ { ++ fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), ++ programName, deviceName); ++ exit(1); ++ } ++ + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-unlock.patch eject-2.1.5/debian/patches/eject-2.1.5-unlock.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-2.1.5-unlock.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-2.1.5-unlock.patch 2014-06-13 11:28:03.000000000 +0000 @@ -0,0 +1,58 @@ +--- a/eject.c ++++ b/eject.c +@@ -595,6 +595,25 @@ + } + + /* ++ * Unlock tray using CDROM_LOCKDOOR ioctl. ++ * New kernels doesn't automatically unlock tray before ejecting, ++ * and the new udev automatically locks it. ++ */ ++static int UnlockCdrom(int fd) ++{ ++ int status = -1; ++ ++ if (v_option) ++ printf(_("%s: unlocking tray using CDROM_LOCKDOOR ioctl\n"), programName); ++ ++ status = ioctl(fd, CDROM_LOCKDOOR, 0); ++ if (v_option && status != 0) ++ printf(_("%s: CDROM_LOCKDOOR ioctl failed\n"), programName); ++ ++ return (status == 0); ++} ++ ++/* + * Toggle tray. + * + * Written by Benjamin Schwenk and +@@ -611,6 +630,8 @@ + + #ifdef CDROMCLOSETRAY + ++ UnlockCdrom(fd); ++ + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds +@@ -634,7 +655,11 @@ + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) ++ { ++ if (v_option) ++ printf(_("%s: CD-ROM tray was already open, closing it\n"), programName); + CloseTray(fd); ++ } + + #else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +@@ -749,7 +774,7 @@ + static int EjectCdrom(int fd) + { + int status = -1; +- ++ UnlockCdrom(fd); + #if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); + #elif defined(CDIOCEJECT) diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/eject-timeout.patch eject-2.1.5/debian/patches/eject-timeout.patch --- eject-2.1.5+deb1+cvs20081104/debian/patches/eject-timeout.patch 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/eject-timeout.patch 2014-06-13 11:28:00.000000000 +0000 @@ -0,0 +1,11 @@ +--- a/eject.c ++++ b/eject.c +@@ -791,7 +791,7 @@ + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; +- io_hdr.timeout = 2000; ++ io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); diff -Nru eject-2.1.5+deb1+cvs20081104/debian/patches/series eject-2.1.5/debian/patches/series --- eject-2.1.5+deb1+cvs20081104/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/patches/series 2014-06-13 11:25:18.000000000 +0000 @@ -0,0 +1,7 @@ +eject-2.1.1-verbose.patch +eject-2.1.5-lock.patch +eject-2.1.5-spaces.patch +eject-2.1.5-umount.patch +eject-timeout.patch +eject-2.1.5-unlock.patch +eject-2.1.5-openrw.patch diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ar.po eject-2.1.5/debian/po/ar.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ar.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ar.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Arabic -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Ossama M. Khayat , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-06-02 01:07+0300\n" -"Last-Translator: Ossama M. Khayat \n" -"Language-Team: Arabic \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "إخراج القرص المدمج من القارئ" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ast.po eject-2.1.5/debian/po/ast.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ast.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ast.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject_debian\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-01-06 21:08+0100\n" -"Last-Translator: astur \n" -"Language-Team: Asturian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Language: Asturian\n" -"X-Poedit-Country: SPAIN\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Espulsar un CD de la unidá" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/be.po eject-2.1.5/debian/po/be.po --- eject-2.1.5+deb1+cvs20081104/debian/po/be.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/be.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# translation of eject_debian_po.po to Belarusian -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Pavel Piatruk , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-10-24 01:50+0300\n" -"Last-Translator: Hleb Rubanau \n" -"Language-Team: Belarusian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: vim\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Вызваліць CD з прылады" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/bg.po eject-2.1.5/debian/po/bg.po --- eject-2.1.5+deb1+cvs20081104/debian/po/bg.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/bg.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Bulgarian -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Damyan Ivanov , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08 12:21+0300\n" -"Last-Translator: Damyan Ivanov \n" -"Language-Team: Bulgarian \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Изваждане на компактдиск от устройството" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/bn.po eject-2.1.5/debian/po/bn.po --- eject-2.1.5+deb1+cvs20081104/debian/po/bn.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/bn.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-04-18 18:19+0600\n" -"Last-Translator: Jamil Ahmed \n" -"Language-Team: Bengali \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ড্রাইভটি থেকে সিডি বের করুন" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/bs.po eject-2.1.5/debian/po/bs.po --- eject-2.1.5+deb1+cvs20081104/debian/po/bs.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/bs.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2010-07-13 21:47+0100\n" -"Last-Translator: Armin Beširović \n" -"Language-Team: Bosnian \n" -"Language: bs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Izbaci CD iz uređaja" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ca.po eject-2.1.5/debian/po/ca.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ca.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ca.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Catalan translation of eject's Debconf templates. -# Copyright © 2008 Software in the Public Interest, Inc. -# This file is copyrighted under the same licence as the eject package. -# Jordi Mallach , 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-02-12 19:28+0100\n" -"Last-Translator: Jordi Mallach \n" -"Language-Team: Catalan \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Expulsa un CD de la unitat" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/cs.po eject-2.1.5/debian/po/cs.po --- eject-2.1.5+deb1+cvs20081104/debian/po/cs.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/cs.po 2005-07-24 23:19:20.000000000 +0000 @@ -16,15 +16,15 @@ "Project-Id-Version: eject\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08 11:22+0200\n" -"Last-Translator: Miroslav Kure \n" -"Language-Team: Czech \n" +"PO-Revision-Date: 2004-07-16 11:10+0200\n" +"Last-Translator: Jan Outrata \n" +"Language-Team: Czech \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #. Type: text #. description #: ../eject-udeb.templates:3 msgid "Eject a CD from the drive" -msgstr "Vysunout CD z mechaniky" +msgstr "Vysute CD z mechaniky" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Entries eject-2.1.5/debian/po/CVS/Entries --- eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Entries 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/po/CVS/Entries 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1,11 @@ +/POTFILES.in/1.1.1.1/Sun Jul 24 23:19:20 2005// +/cs.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/de.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/fr.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/it.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/ja.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/nl.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/output/1.1.1.1/Sun Jul 24 23:19:20 2005// +/pt_BR.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/templates.pot/1.1.1.1/Sun Jul 24 23:19:20 2005// +D diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Repository eject-2.1.5/debian/po/CVS/Repository --- eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Repository 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/po/CVS/Repository 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1 @@ +eject/eject/debian/po diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Root eject-2.1.5/debian/po/CVS/Root --- eject-2.1.5+deb1+cvs20081104/debian/po/CVS/Root 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/debian/po/CVS/Root 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1 @@ +:ext:tranter@eject.cvs.sourceforge.net:/cvsroot/eject diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/cy.po eject-2.1.5/debian/po/cy.po --- eject-2.1.5+deb1+cvs20081104/debian/po/cy.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/cy.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# Translation of eject_debian to Welsh -# -# Copyright (C) 2012 -# -# This file is distributed under the same license as the iso-codes package. -# -# Dafydd Tomos , 2012 -# -msgid "" -msgstr "" -"Project-Id-Version: eject_debian\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2012-06-15 23:30-0000\n" -"Last-Translator: Dafydd Tomos \n" -"Language-Team: Welsh\n" -"Language: cy\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Bwrw allan y CD o'r disgyrrwr" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/da.po eject-2.1.5/debian/po/da.po --- eject-2.1.5+deb1+cvs20081104/debian/po/da.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/da.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Claus Hindsgaul , 2006. -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2006-01-26 21:59+0100\n" -"Last-Translator: Claus Hindsgaul \n" -"Language-Team: Danish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.1\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Skub en cd ud af drevet" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/dz.po eject-2.1.5/debian/po/dz.po --- eject-2.1.5+deb1+cvs20081104/debian/po/dz.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/dz.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: dz\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-06-13 02:28+0530\n" -"Last-Translator: Tshewang Norbu \n" -"Language-Team: Dzongkha \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "འདྲེན་འཕྲུལ་ནང་ལས་སི་ཌི་ཕྱིར་བཏོན" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/el.po eject-2.1.5/debian/po/el.po --- eject-2.1.5+deb1+cvs20081104/debian/po/el.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/el.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -# translation of el.po to Greek -# Greek messages for debian-installer. -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# George Papamichelakis , 2004. -# Emmanuel Galatoulas , 2004. -# Konstantinos Margaritis , 2004. -# Greek Translation Team , 2004. -# Kostas Papadimas , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: ubuntu-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-04-01 13:17+0300\n" -"Last-Translator: Kostas Papadimas \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" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Εξαγωγή ενός CD από τον οδηγό" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/eo.po eject-2.1.5/debian/po/eo.po --- eject-2.1.5+deb1+cvs20081104/debian/po/eo.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/eo.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Translation of `eject' messages to Esperanto. -# Copyright (C) 2008 Free Software Foundation, Inc. -# This file is distributed under the same license as the `eject' package. -# Luiz Portella , 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5-7\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-04-20 04:30+0200\n" -"PO-Revision-Date: 2008-05-01 18:40-0300\n" -"Last-Translator: Luiz Portella \n" -"Language-Team: esperanto \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. Description -#: ../eject-udeb.templates:1001 -msgid "Eject a CD from the drive" -msgstr "Eĵetu KD-on el la lumdiskingo" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/es.po eject-2.1.5/debian/po/es.po --- eject-2.1.5+deb1+cvs20081104/debian/po/es.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/es.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-12-12 10:47+0100\n" -"Last-Translator: Daniel Franganillo \n" -"Language-Team: Spanish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Expulsar un CD de la unidad" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/eu.po eject-2.1.5/debian/po/eu.po --- eject-2.1.5+deb1+cvs20081104/debian/po/eu.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/eu.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: Eject-debconf\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08\n" -"Last-Translator: Piarres Beobide \n" -"Language-Team: Euskara \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "CD-a gailutik egotzi" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/fa.po eject-2.1.5/debian/po/fa.po --- eject-2.1.5+deb1+cvs20081104/debian/po/fa.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/fa.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2010-06-26 12:56+0900\n" -"Last-Translator: Vahid Ghaderi \n" -"Language-Team: debian-l10n-persian \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Persian\n" -"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n" -"X-Poedit-SourceCharset: utf-8\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "لطفا سي دي را خارج كنيد" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/fi.po eject-2.1.5/debian/po/fi.po --- eject-2.1.5+deb1+cvs20081104/debian/po/fi.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/fi.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: eject_2.1.5-5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-27 04:31+0200\n" -"PO-Revision-Date: 2007-10-28 11:36+0200\n" -"Last-Translator: Esko Arajärvi \n" -"Language-Team: Finnish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Finnish\n" -"X-Poedit-Country: FINLAND\n" - -#. Type: text -#. Description -#: ../eject-udeb.templates:1001 -msgid "Eject a CD from the drive" -msgstr "Poistaa CD-levyn asemasta" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/fr.po eject-2.1.5/debian/po/fr.po --- eject-2.1.5+deb1+cvs20081104/debian/po/fr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/fr.po 2005-07-24 23:19:20.000000000 +0000 @@ -17,14 +17,14 @@ "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-04-11 23:40+0200\n" "PO-Revision-Date: 2004-04-23 09:58+0200\n" -"Last-Translator: Frédéric Bothamy \n" +"Last-Translator: Frdric Bothamy \n" "Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #. Type: text #. description #: ../eject-udeb.templates:3 msgid "Eject a CD from the drive" -msgstr "Éjecter le CD du lecteur" +msgstr "jecter le cdrom du lecteur" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ga.po eject-2.1.5/debian/po/ga.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ga.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ga.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-05-11 23:40+0200\n" -"Last-Translator: Kevin Scannell \n" -"Language-Team: Irish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Díchuir dlúthdhiosca ón tiomántán" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/gl.po eject-2.1.5/debian/po/gl.po --- eject-2.1.5+deb1+cvs20081104/debian/po/gl.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/gl.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -# Galician translation of eject's debconf templates. -# This file is distributed under the same license as the eject package. -# Jacobo Tarrio , 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-19 00:26+0200\n" -"PO-Revision-Date: 2007-01-03 10:08+0100\n" -"Last-Translator: Jacobo Tarrio \n" -"Language-Team: Galician \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. Description -#: ../eject-udeb.templates:1001 -msgid "Eject a CD from the drive" -msgstr "Expulsar un CD da unidade" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/gu.po eject-2.1.5/debian/po/gu.po --- eject-2.1.5+deb1+cvs20081104/debian/po/gu.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/gu.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# Kartik Mistry , 2007 - -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-08-26 23:40+0200\n" -"Last-Translator: Kartik Mistry \n" -"Language-Team: Gujarati\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ડ્રાઇવમાંથી સીડી બહાર નીકાળો" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/he.po eject-2.1.5/debian/po/he.po --- eject-2.1.5+deb1+cvs20081104/debian/po/he.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/he.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Hebrew -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Lior Kaplan , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-23 19:24+0300\n" -"Last-Translator: Lior Kaplan \n" -"Language-Team: Hebrew \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "הוצאת CD מהכונן" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/hi.po eject-2.1.5/debian/po/hi.po --- eject-2.1.5+deb1+cvs20081104/debian/po/hi.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/hi.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Hindi -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Kumar Appaiah , 2008. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-08-31 13:35-0500\n" -"Last-Translator: Kumar Appaiah \n" -"Language-Team: Hindi \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ड्राइव से सीडी निकालें" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/hr.po eject-2.1.5/debian/po/hr.po --- eject-2.1.5+deb1+cvs20081104/debian/po/hr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/hr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-09-05 15:40+0200\n" -"Last-Translator: Josip Rodin \n" -"Language-Team: Croatian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Izbaci CD iz uređaja" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/hu.po eject-2.1.5/debian/po/hu.po --- eject-2.1.5+deb1+cvs20081104/debian/po/hu.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/hu.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# Hungarian messages for debian-installer. -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# Gabor Burjan , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-03-27 15:26+0200\n" -"Last-Translator: Gabor Burjan \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" -"Plural-Forms: nplurals=2; plural=n>1;\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "CD kidobása a meghajtóból" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/id.po eject-2.1.5/debian/po/id.po --- eject-2.1.5+deb1+cvs20081104/debian/po/id.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/id.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# Indonesian messages for debian-installer. -# -# -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# Debian Indonesian L10N Team , 2004. -# Translators: -# * Parlin Imanuel Toh (parlin_i@yahoo.com), 2004. -# * I Gede Wijaya S (gwijayas@yahoo.com), 2004. -# * Arief S F (arief@gurame.fisika.ui.ac.id), 2004. -# * Setyo Nugroho (setyo@gmx.net), 2004. -# * Yoppy Hidayanto , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-03-27 11:46+0700\n" -"Last-Translator: Yoppy Hidayanto \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Keluarkan CD dari penggerak CD." diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/is.po eject-2.1.5/debian/po/is.po --- eject-2.1.5+deb1+cvs20081104/debian/po/is.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/is.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# translation of eject_debian_is.po to Icelandic -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Sveinn í Felli , 2010. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_is\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2010-08-13 10:00+0000\n" -"Last-Translator: Sveinn í Felli \n" -"Language-Team: Icelandic \n" -"Language: is\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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Ýta geisladiski úr drifi" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/it.po eject-2.1.5/debian/po/it.po --- eject-2.1.5+deb1+cvs20081104/debian/po/it.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/it.po 2005-07-24 23:19:20.000000000 +0000 @@ -1,16 +1,16 @@ -# Italian translation of eject -# Copyright (C) 2004-2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the eject package +# Traduzione italiana di partman-auto +# Copyright (C) 2004 Free Software Foundation, Inc. +# # Stefano Melchior , 2004. -# Milo Casagrande , 2009. +# msgid "" msgstr "" -"Project-Id-Version: eject\n" +"Project-Id-Version: eject 2.0.13deb-8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-12-04 22:52+0100\n" -"Last-Translator: Milo Casagrande \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2004-10-31 00:48+0100\n" +"Last-Translator: Stefano Melchior \n" +"Language-Team: Italian Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,4 +19,4 @@ #. description #: ../eject-udeb.templates:3 msgid "Eject a CD from the drive" -msgstr "Espellere il CD dall'unità" +msgstr "Espellere il CD dal drive" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ka.po eject-2.1.5/debian/po/ka.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ka.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ka.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-09-09 21:45+0400\n" -"Last-Translator: Aiet Kolkhi \n" -"Language-Team: Georgian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "CD-ს დისკწამყვანიდან ამოგდება" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/kk.po eject-2.1.5/debian/po/kk.po --- eject-2.1.5+deb1+cvs20081104/debian/po/kk.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/kk.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -# -# $Id: eject_debian_po_kk.po 29 2009-01-18 12:03:45Z taem $ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -# Baurzhan Muftakhidinov , 2008 -# Dauren Sarsenov , 2009 -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-01-17 19:28+0600\n" -"Last-Translator: Sarsenov D. \n" -"Language-Team: Kazakh \n" -"Language: kk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Диск оқу құрылғысынан CD шығару" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/km.po eject-2.1.5/debian/po/km.po --- eject-2.1.5+deb1+cvs20081104/debian/po/km.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/km.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# translation of km.po to Khmer -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Khoem Sokhem , 2008. -msgid "" -msgstr "" -"Project-Id-Version: km\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-09-15 07:57+0700\n" -"Last-Translator: Khoem Sokhem \n" -"Language-Team: Khmer \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ច្រាន​ស៊ីឌី​ចេញ​ពី​ដ្រាយ" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/kn.po eject-2.1.5/debian/po/kn.po --- eject-2.1.5+deb1+cvs20081104/debian/po/kn.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/kn.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# Vikram Vincent , 2012. -# Language-Team: Kannada \n -# -msgid "" -msgstr "" -"Project-Id-Version: Debian Kannada\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2012-11-18 19:27+0530\n" -"Last-Translator: Mallikarjuna \n" -"Language-Team: Kannada \n" -"Language: Kannada\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Kannada\n" -"X-Poedit-Country: India\n" -"X-Poedit-SourceCharset: utf-8\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ಸೀಡೀಯನ್ನು ಡ್ರೈವ್‌ನಿಂದ ಹೊರ ತೆಗೆಯಿರಿ" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ko.po eject-2.1.5/debian/po/ko.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ko.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ko.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -# Sunjae Park . 2007 -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-10-10 20:28-0400\n" -"Last-Translator: Sunjae Park \n" -"Language-Team: Korean \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "드라이브에서 CD 꺼내기" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/lt.po eject-2.1.5/debian/po/lt.po --- eject-2.1.5+deb1+cvs20081104/debian/po/lt.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/lt.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# Lithuanian messages for eject package. -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as package eject. -# Kęstutis Biliūnas 2008. - -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-07-14 12:20+0300\n" -"Last-Translator: Kęstutis Biliūnas \n" -"Language-Team: Lithuanian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Išimti diską iš CD įrenginio" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/lv.po eject-2.1.5/debian/po/lv.po --- eject-2.1.5+deb1+cvs20081104/debian/po/lv.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/lv.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -# Rūdolfs Mazurs , 2012. -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2012-05-25 01:07+0300\n" -"Last-Translator: Rūdolfs Mazurs \n" -"Language-Team: Latvian \n" -"Language: lv\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 != 0 ? 1 : " -"2);\n" -"X-Generator: Lokalize 1.4\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Izgrūst CD no dziņa" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ml.po eject-2.1.5/debian/po/ml.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ml.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ml.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -# Praveen|പ്രവീണ്‍ A|എ , 2006, 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject 15122007\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-12-15 18:36-0800\n" -"Last-Translator: Praveen|പ്രവീണ്‍ A|എ \n" -"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ഡ്രൈവില്‍ നിന്നും സിഡി പുറത്തെടുക്കുക" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/mr.po eject-2.1.5/debian/po/mr.po --- eject-2.1.5+deb1+cvs20081104/debian/po/mr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/mr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-09-05 13:12+0530\n" -"Last-Translator: Sampada Nakhare \n" -"Language-Team: Marathi, janabhaaratii, C-DAC, Mumbai, India \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ड्राईव्हमधील सीडी बाहेर काढा" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/nb.po eject-2.1.5/debian/po/nb.po --- eject-2.1.5+deb1+cvs20081104/debian/po/nb.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/nb.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -# translation of debian-installer.po to Norwegian bokmål -# Norwegian Bokmal messages for debian-installer. -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# Knut Yrvin , 2004. -# Klaus Ade Johnstad , 2004. -# Axel Bojer , 2004. -# Bjorn Steensrud , 2004. -# Hans Fredrik Nordhaug , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-04-04 21:08+0200\n" -"Last-Translator: Terance Edward Sola \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.10\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Løs ut en CD" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ne.po eject-2.1.5/debian/po/ne.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ne.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ne.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Nepali -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# Nabin Gautam , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-07-31 11:12+0545\n" -"Last-Translator: Nabin Gautam \n" -"Language-Team: Nepali \n" -"Language: ne\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2;plural=(n!=1)\n" -"X-Generator: KBabel 1.11.4\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ड्राइभबाट सीडी निकाल्नुहोस्" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/nl.po eject-2.1.5/debian/po/nl.po --- eject-2.1.5+deb1+cvs20081104/debian/po/nl.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/nl.po 2005-07-24 23:19:20.000000000 +0000 @@ -13,19 +13,18 @@ # msgid "" msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: eject 2.0.13deb-2\n" "POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-16 20:39+0100\n" -"Last-Translator: Bart Cornelis \n" -"Language-Team: debian-l10n-dutch \n" +"PO-Revision-Date: 2004-05-20 10:26+0100\n" +"Last-Translator: Luk Claes \n" +"Language-Team: Debian l10n Dutch \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" -"X-Poedit-Language: Dutch\n" #. Type: text #. description #: ../eject-udeb.templates:3 msgid "Eject a CD from the drive" -msgstr "De CD in het station uitwerpen" +msgstr "Een CD uitwerpen" + diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/nn.po eject-2.1.5/debian/po/nn.po --- eject-2.1.5+deb1+cvs20081104/debian/po/nn.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/nn.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# translation of eject_debian_po.po to Norwegian nynorsk -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Håvard Korsvoll , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-09-30 23:02+0200\n" -"Last-Translator: Håvard Korsvoll \n" -"Language-Team: Norwegian nynorsk \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Løys ut ein CD frå stasjonen" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/pl.po eject-2.1.5/debian/po/pl.po --- eject-2.1.5+deb1+cvs20081104/debian/po/pl.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/pl.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Polish messages for debian-installer. -# Copyright (C) 2003 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# Copyright (C) 2004 Bartosz Feski -# -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-03-26 23:54+0100\n" -"Last-Translator: Dominik Zablotny \n" -"Language-Team: Polish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Wysu pyt z napdu" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/pt_BR.po eject-2.1.5/debian/po/pt_BR.po --- eject-2.1.5+deb1+cvs20081104/debian/po/pt_BR.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/pt_BR.po 2005-07-24 23:19:20.000000000 +0000 @@ -1,31 +1,30 @@ -# eject Brazilian Portuguese debconf translation # # Translators, if you are not familiar with the PO format, gettext # documentation is worth reading, especially sections dedicated to # this format, e.g. by running: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' +# # Some information specific to po-debconf are available at # /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# # Developers do not need to manually edit POT or PO files. # -# Eder L. Marques , 2007. msgid "" msgstr "" -"Project-Id-Version: eject 2.1.4-1\n" +"Project-Id-Version: eject\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08 09:39-0300\n" -"Last-Translator: Eder L. Marques \n" -"Language-Team: l10n Portuguese \n" +"PO-Revision-Date: 2004-05-12 22:05-0300\n" +"Last-Translator: Andr Lus Lopes \n" +"Language-Team: Debian-BR Project \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" -"pt_BR utf-8\n" #. Type: text #. description #: ../eject-udeb.templates:3 msgid "Eject a CD from the drive" -msgstr "Ejetar um CD do drive" +msgstr "Ejetar um CD do leitor" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/pt.po eject-2.1.5/debian/po/pt.po --- eject-2.1.5+deb1+cvs20081104/debian/po/pt.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/pt.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# Simão Pedro Cardoso, pthell@gmail.com, first translation on 01/11/2005 -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.0.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-11-01 17:33+0000\n" -"Last-Translator: Simão Pedro Cardoso \n" -"Language-Team: Portuguese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Ejectar um CD do leitor" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ro.po eject-2.1.5/debian/po/ro.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ro.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ro.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -# Romanian translation -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# Eddy Petrisor , 2004, 2005. -# Eddy Petrisor , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-03-30 22:10-0500\n" -"Last-Translator: Ovidiu Damian \n" -"Language-Team: Romanian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Scoate CD-ul din unitate (drive)" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ru.po eject-2.1.5/debian/po/ru.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ru.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ru.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.0.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-03-22 23:01+0600\n" -"Last-Translator: Basil Shubin \n" -"Language-Team: Russian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=KOI8-R\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr " -" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/si.po eject-2.1.5/debian/po/si.po --- eject-2.1.5+deb1+cvs20081104/debian/po/si.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/si.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -# Danishka Navin , 2011. -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2011-09-08 21:10+0530\n" -"Last-Translator: Danishka Navin \n" -"Language-Team: Sinhala \n" -"Language: si\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.2\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ධාවකයෙන් CD තැටිය ගන්න" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sk.po eject-2.1.5/debian/po/sk.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sk.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sk.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-01 04:32+0200\n" -"PO-Revision-Date: \n" -"Last-Translator: Ivan Masár \n" -"Language-Team: Slovak \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. Description -#: ../eject-udeb.templates:1001 -msgid "Eject a CD from the drive" -msgstr "Vysunúť CD z mechaniky" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sl.po eject-2.1.5/debian/po/sl.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sl.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sl.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: \n" -"Last-Translator: Vanja Cvelbar \n" -"Language-Team: Slovenian \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" -"X-Poedit-Language: Slovenian\n" -"X-Poedit-Country: SLOVENIA\n" -"X-Poedit-SourceCharset: utf-8\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Vrne CD iz pogona" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sq.po eject-2.1.5/debian/po/sq.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sq.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sq.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# Developers do not need to manually edit POT or PO files. -# , fuzzy -# -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-05-09 11:47+0100\n" -"Last-Translator: Elian Myftiu \n" -"Language-Team: Debian L10n Albanian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Nxirr CD nga lexuesi" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sr@latin.po eject-2.1.5/debian/po/sr@latin.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sr@latin.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sr@latin.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# Serbian/Latin messages for eject. -# Copyright (C) 2010-2012 Software in the Public Interest, Inc. -# This file is distributed under the same license as the eject package. -# Janos Guljas , 2010-2012. -# Karolina Kalic , 2010-2012. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5+deb1+cvs20081104-7\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2012-10-23 23:21+0100\n" -"Last-Translator: Karolina Kalic \n" -"Language-Team: Serbian\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Izbaci disk iz uređaja" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sr.po eject-2.1.5/debian/po/sr.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -# Serbian/Cyrillic messages for eject. -# Copyright (C) 2010-2012 Software in the Public Interest, Inc. -# This file is distributed under the same license as the eject package. -# Janos Guljas , 2010-2012. -# Karolina Kalic , 2010-2012. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5+deb1+cvs20081104-7\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2012-10-23 23:20+0100\n" -"Last-Translator: Karolina Kalic \n" -"Language-Team: Serbian\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Избаци диск из уређаја" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/sv.po eject-2.1.5/debian/po/sv.po --- eject-2.1.5+deb1+cvs20081104/debian/po/sv.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/sv.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject debconf\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08 15:55+0100\n" -"Last-Translator: Daniel Nylander \n" -"Language-Team: Swedish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Mata ut en skiva från enheten" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ta.po eject-2.1.5/debian/po/ta.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ta.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ta.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_ta.po to TAMIL -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Dr.T.Vasudevan , 2007. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_ta\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-06-22 17:43+0530\n" -"Last-Translator: Dr.T.Vasudevan \n" -"Language-Team: TAMIL \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ஒரு குறுந்தட்டை இயக்கியிலிருந்து வெளியேற்றுக" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/te.po eject-2.1.5/debian/po/te.po --- eject-2.1.5+deb1+cvs20081104/debian/po/te.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/te.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-07-12 13:23+0530\n" -"Last-Translator: Veeven \n" -"Language-Team: Telugu \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Telugu\n" -"X-Poedit-Country: INDIA\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "సీడీని డ్రైవు నుండి బయటికి తొయ్యి" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/th.po eject-2.1.5/debian/po/th.po --- eject-2.1.5+deb1+cvs20081104/debian/po/th.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/th.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Thai translation of eject debconf template -# Copyright (C) 2007 Software in the Public Interest, Inc. -# This file is distributed under the same license as debian-installer. -# Copyright (C) 2007, Theppitak Karoonboonyanan . -# -msgid "" -msgstr "" -"Project-Id-Version: eject debconf\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2007-05-08 12:31+0700\n" -"Last-Translator: Theppitak Karoonboonyanan \n" -"Language-Team: Thai \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ดันแผ่นซีดีออกจากไดรว์" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/tr.po eject-2.1.5/debian/po/tr.po --- eject-2.1.5+deb1+cvs20081104/debian/po/tr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/tr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: debian-installer\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-05-24 18:36+0200\n" -"Last-Translator: Mert Dirik \n" -"Language-Team: Debian L10n Turkish \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-Poedit-Language: Turkish\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "CD'yi sürücüden çıkar" - diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/ug.po eject-2.1.5/debian/po/ug.po --- eject-2.1.5+deb1+cvs20081104/debian/po/ug.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/ug.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject_debian\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2011-02-15 20:03+0600\n" -"Last-Translator: Sahran \n" -"Language-Team: Uyghur Computer Science Association \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "ئوپتىك دىسكا(CD) نى قوزغاتقۇچتىن چىقىرىدۇ" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/uk.po eject-2.1.5/debian/po/uk.po --- eject-2.1.5+deb1+cvs20081104/debian/po/uk.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/uk.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2011-12-28 19:57+0100\n" -"Last-Translator: Anton Gladky \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Звільніть CD з приводу" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/vi.po eject-2.1.5/debian/po/vi.po --- eject-2.1.5+deb1+cvs20081104/debian/po/vi.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/vi.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Vietnamese Translation for eject. -# Copyright © 2005 Free Software Foundation, Inc. -# Clytie Siddall , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.0.13deb-11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2005-06-02 19:34+0930\n" -"Last-Translator: Clytie Siddall \n" -"Language-Team: Vietnamese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Đẩy đĩa CD ra ổ" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/wo.po eject-2.1.5/debian/po/wo.po --- eject-2.1.5+deb1+cvs20081104/debian/po/wo.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/wo.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -# translation of eject_debian_po.po to Wolof -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans# -# Developers do not need to manually edit POT or PO files. -# -# Mouhamadou Mamoune Mbacke , 2008. -msgid "" -msgstr "" -"Project-Id-Version: eject_debian_po\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-09-30 13:05+0200\n" -"Last-Translator: Mouhamadou Mamoune Mbacke \n" -"Language-Team: Wolof \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" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "Génne CD bi ci lektóor bi" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/zh_CN.po eject-2.1.5/debian/po/zh_CN.po --- eject-2.1.5+deb1+cvs20081104/debian/po/zh_CN.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/zh_CN.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -# debconf templates of eject package -# simplified Chinese translation -# -# Copyright Ming Hua , 2007 -# -# This file is distributed under the same license as the eject package. -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.4-4\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2009-11-27 20:26+0800\n" -"Last-Translator: Ming Hua \n" -"Language-Team: Debian simplified Chinese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "从光驱中弹出光盘" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/po/zh_TW.po eject-2.1.5/debian/po/zh_TW.po --- eject-2.1.5+deb1+cvs20081104/debian/po/zh_TW.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/po/zh_TW.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-04-11 23:40+0200\n" -"PO-Revision-Date: 2008-02-09 21:23+0800\n" -"Last-Translator: Tetralet \n" -"Language-Team: Debian-user in Chinese [Big5] \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: text -#. description -#: ../eject-udeb.templates:3 -msgid "Eject a CD from the drive" -msgstr "將 CD 由裝置中退出來" diff -Nru eject-2.1.5+deb1+cvs20081104/debian/rules eject-2.1.5/debian/rules --- eject-2.1.5+deb1+cvs20081104/debian/rules 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/rules 2005-07-24 23:19:20.000000000 +0000 @@ -1,61 +1,73 @@ #!/usr/bin/make -f +# debian/rules build file for eject copyright Martin Mitchell 2001. +# this file is placed under the GNU GPL. +# debhelperized by Frank Lichtenheld 2004 #export DH_VERBOSE=1 -DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) -DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -export DEB_BUILD_MAINT_OPTIONS = hardening=+all -DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/buildflags.mk +package=eject -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) -CC := $(DEB_HOST_GNU_TYPE)-gcc -endif +CFLAGS = -Wall -g +INSTALL = install +INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644 +INSTALL_DIR = $(INSTALL) -p -d -o root -g root -m 755 -ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -ifeq ($(DEB_HOST_ARCH_CPU),m68k) -CFLAGS += -Os +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 else -CFLAGS += -Os -fomit-frame-pointer -endif -endif - -ifeq ($(DEB_HOST_ARCH_OS), kfreebsd) -cdrom = --enable-default-device=acd0 -nodevmapper = 1 +CFLAGS += -O2 endif deb_dir = debian/eject udeb_dir = debian/eject-udeb +build_dirs = $(deb_dir) $(udeb_dir) -%: - dh $@ --with=autotools-dev - -override_dh_auto_build: - dh_auto_build -ifeq (,$(nodevmapper)) - $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) dmcrypt-get-device.c -o dmcrypt-get-device -ldevmapper -endif - -override_dh_auto_configure: - dh_auto_configure -- $(cdrom) - -override_dh_clean: - dh_clean dmcrypt-get-device +build: + dh_testdir + ./configure --prefix=/usr + $(MAKE) AM_CFLAGS= CFLAGS="$(CFLAGS)" + touch build + +clean: + dh_testdir + dh_testroot + -rm -f build + + -$(MAKE) distclean + + dh_clean + +binary-indep: build +# There are no architecture-independent files to be uploaded +# generated by this package. If there were any they would be +# made here. + +binary-arch: build + dh_testdir + dh_testroot + dh_clean -k -a + dh_installdirs -a -override_dh_auto_install: - $(MAKE) install mandir=/usr/share/man DESTDIR=$(CURDIR)/$(deb_dir) - [ -d $(udeb_dir) ] || mkdir $(udeb_dir) + make install mandir=/usr/share/man DESTDIR=$(CURDIR)/$(deb_dir) cp -a $(deb_dir)/usr $(udeb_dir)/ rm -fr $(udeb_dir)/usr/share/man -ifeq (,$(nodevmapper)) - install -D -m 4755 dmcrypt-get-device $(deb_dir)/usr/lib/eject/dmcrypt-get-device -endif + dh_installchangelogs ChangeLog + dh_installdocs README NEWS AUTHORS TODO + dh_installdebconf -peject-udeb + + dh_link -a + dh_strip -a + dh_compress -a + dh_fixperms -a + + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums + dh_builddeb -a + +# Below here is fairly generic really -override_dh_fixperms: - dh_fixperms -a -Xdmcrypt-get-device +binary: binary-indep binary-arch -override_dh_auto_test: +.PHONY: binary binary-arch binary-indep clean checkroot diff -Nru eject-2.1.5+deb1+cvs20081104/debian/source/format eject-2.1.5/debian/source/format --- eject-2.1.5+deb1+cvs20081104/debian/source/format 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -1.0 diff -Nru eject-2.1.5+deb1+cvs20081104/debian/watch eject-2.1.5/debian/watch --- eject-2.1.5+deb1+cvs20081104/debian/watch 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/debian/watch 2005-07-24 23:19:20.000000000 +0000 @@ -1,5 +1,2 @@ -version=3 - +version=2 http://www.ibiblio.org/pub/Linux/utils/disk-management/eject-(.*)\.tar\.gz - -http://ca.geocities.com/jefftranter@rogers.com/eject.html eject-(.*)\.tar\.gz diff -Nru eject-2.1.5+deb1+cvs20081104/depcomp eject-2.1.5/depcomp --- eject-2.1.5+deb1+cvs20081104/depcomp 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/depcomp 1970-01-01 00:00:00.000000000 +0000 @@ -1,589 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2007-03-29.01 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software -# Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$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. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -Nru eject-2.1.5+deb1+cvs20081104/dmcrypt-get-device.c eject-2.1.5/dmcrypt-get-device.c --- eject-2.1.5+deb1+cvs20081104/dmcrypt-get-device.c 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/dmcrypt-get-device.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ -/** - * dmcrypt-get-device.c - * (c) 2005 Canonical Ltd. - * Author: Martin Pitt - * License: GNU General Public License (http://www.gnu.org/copyleft/gpl.html) - * - * Given a dmcrypt device name, this program queries the underlying physical - * device, prints "major:minor" to the standard output and exits with 0. If an - * error occurs or the device is not a dmcrypt mapped one, nothing is printed - * and the program exits with 1. - * - * Opening /dev/mapper/control requires root privileges, therefore this - * program needs to be installed setuid root. Root privileges are dropped - * immediately after querying the information from the device mapper. The - * parsing is done with normal user privileges afterwards. - */ - -#include -#include -#include -#include -#include - -int -main (int argc, char** argv) -{ - struct dm_task *dmt = NULL; - struct dm_info dmi; - char *target_type = NULL, *params = NULL; - uint64_t start, length; - void *next = NULL; - struct stat st; - unsigned major, minor; - - if (argc != 2) { - fputs ("Usage: dmcrypt-get-device \n", stderr); - return 1; - } - - /* Check that argument has the form /dev/mapper/ */ - const char* devmapdir = "/dev/mapper/"; - const int devmapdirlen = strlen (devmapdir); - if (strncmp (argv[1], devmapdir, devmapdirlen)) - return 1; - if (strchr (argv[1] + devmapdirlen, '/')) - return 1; - - /* Check that argument is a block device */ - if (stat (argv[1], &st) || !S_ISBLK(st.st_mode)) - return 1; - - /* Request device info */ - if (!(dmt = dm_task_create(DM_DEVICE_TABLE))) - return 1; - if (!dm_task_set_name(dmt, argv[1])) - return 1; - if (!dm_task_run(dmt)) - return 1; - - /* Drop all privileges */ - setgid(getgid()); - setuid(getuid()); - - if (!dm_task_get_info(dmt, &dmi)) - return 1; - - /* Get underlying physical device */ - next = dm_get_next_target(dmt, next, &start, &length, - &target_type, ¶ms); - - /* verify validity and that it is a dmcrypt device */ - if (!target_type || strcmp(target_type, "crypt") || next) - return 1; - - /* params has the format: cipher key offset major:minor */ - length = sscanf(params, "%*s %*s %*s %u:%u %*s", &major, &minor); - if (length != 2) - return 1; - - /* Success */ - printf ("%u:%u\n", major, minor); - - return 0; -} diff -Nru eject-2.1.5+deb1+cvs20081104/eject.c eject-2.1.5/eject.c --- eject-2.1.5+deb1+cvs20081104/eject.c 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/eject.c 2014-06-13 11:28:05.000000000 +0000 @@ -6,8 +6,8 @@ * ******************************************************************** * - * Copyright (C) 1994-2005 Jeff Tranter (tranter@pobox.com) - * Copyright (C) 2004, 2005, 2012 Frank Lichtenheld (djpig@debian.org) + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) * * 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 @@ -30,10 +30,6 @@ * */ -/* for asprintf() */ -#define _GNU_SOURCE - -#include "config.h" #include "i18n.h" #ifndef DEFAULTDEVICE @@ -47,7 +43,6 @@ #include #include #include -#include /* makedev() */ #ifdef GETOPTLONG #include @@ -62,13 +57,20 @@ #include #if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif #include #include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif #include #include #include #include -#include #include /* Used by the ToggleTray() function. If ejecting the tray takes this @@ -152,6 +154,7 @@ /* Display command usage on standard error and exit. */ static void usage() { +// perror(_("%s: device is `%s'\n")); fprintf(stderr,_( "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" "Usage:\n" @@ -201,7 +204,7 @@ #endif "\n" " -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n")); +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); #endif /* GETOPTLONG */ fprintf(stderr,_( "Parameter can be a device file or a mount point.\n" @@ -389,7 +392,7 @@ /* * Linux mangles spaces in mount points by changing them to an octal string * of '\040'. So lets scan the mount point and fix it up by replacing all - * occurrences of '\0##' with the ASCII value of 0##. Requires a writable + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable * string as input as we mangle in place. Some of this was taken from the * util-linux package. */ @@ -431,8 +434,6 @@ char *buf; static int try = 0; int found = 0; - int i; - char temp[2]; buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ if (buf==NULL) { @@ -457,18 +458,6 @@ if (FileExists(buf, try, &found)) return buf; - /* Cycles through device-name[0-9] */ - for(i=0;i<10;i++) - { - strcpy(buf, "/dev/"); - strcat(buf, name); - temp[0]='0'+i; - temp[1]='\0'; - strcat(buf, temp); - if (FileExists(buf, try, &found)) - return buf; - } - strcpy(buf, "/media/"); strcat(buf, name); if (FileExists(buf, try, &found)) @@ -524,24 +513,10 @@ * EBUSY Attempt to unlock when multiple users * have the drive open and not CAP_SYS_ADMIN */ -static void ManualEject(int fd, int onOff) +static void ManualEject(int fd, int onOff) { -#if defined(CDROM_LOCKDOOR) if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { perror("ioctl on CDROM_LOCKDOOR"); -#elif defined(CDIOCALLOW) && defined(CDIOCPREVENT) - int status; - if (onOff) { - status = ioctl(fd, CDIOCPREVENT); - } else { - status = ioctl(fd, CDIOCALLOW); - } - if (status < 0) { - perror("ioctl on CDIOC(PREVENT|ALLOW)"); -#else -/* FIXME: Allow to build without this functionality */ -# error -#endif } else { if (onOff) printf("CD-Drive may NOT be ejected with device button\n"); @@ -577,14 +552,16 @@ */ static void ChangerSelect(int fd, int slot) { + int status; + #ifdef CDROM_SELECT_DISC - int status = ioctl(fd, CDROM_SELECT_DISC, slot); + status = ioctl(fd, CDROM_SELECT_DISC, slot); if (status < 0) { fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); exit(1); } #elif defined CDROMLOADFROMSLOT - int status = ioctl(fd, CDROMLOADFROMSLOT, slot); + status = ioctl(fd, CDROMLOADFROMSLOT, slot); if (status != 0) { fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); exit(1); @@ -600,9 +577,9 @@ */ static void CloseTray(int fd) { -#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) int status; +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) #if defined(CDROMCLOSETRAY) status = ioctl(fd, CDROMCLOSETRAY); #elif defined(CDIOCCLOSE) @@ -618,6 +595,25 @@ } /* + * Unlock tray using CDROM_LOCKDOOR ioctl. + * New kernels doesn't automatically unlock tray before ejecting, + * and the new udev automatically locks it. + */ +static int UnlockCdrom(int fd) +{ + int status = -1; + + if (v_option) + printf(_("%s: unlocking tray using CDROM_LOCKDOOR ioctl\n"), programName); + + status = ioctl(fd, CDROM_LOCKDOOR, 0); + if (v_option && status != 0) + printf(_("%s: CDROM_LOCKDOOR ioctl failed\n"), programName); + + return (status == 0); +} + +/* * Toggle tray. * * Written by Benjamin Schwenk and @@ -629,34 +625,21 @@ */ static void ToggleTray(int fd) { -#ifdef CDROMCLOSETRAY struct timeval time_start, time_stop; int time_elapsed; - int status; - status = ioctl(fd, CDROM_DRIVE_STATUS); +#ifdef CDROMCLOSETRAY - if (status == CDS_TRAY_OPEN){ - CloseTray(fd); - return; - } - else if (status == CDS_NO_DISC || status == CDS_DISC_OK){ - if (ioctl(fd, CDROMEJECT, 0) < 0) { - perror("ioctl"); - exit(1); - } - return; - } + UnlockCdrom(fd); - /* Try to open the CDROM tray and measure the time needed. - * In my experience the function needs less than 0.05 + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 * seconds if the tray was already open, and at least 1.5 seconds - * if it was closed. - */ + * if it was closed. */ gettimeofday(&time_start, NULL); /* Send the CDROMEJECT command to the device. */ - if (ioctl(fd, CDROMEJECT, 0) < 0 && errno != EIO) { + if (ioctl(fd, CDROMEJECT, 0) < 0) { perror("ioctl"); exit(1); } @@ -672,7 +655,11 @@ * was already open. In this case, close it now. Else the tray was * closed before. This would mean that we are done. */ if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + { + if (v_option) + printf(_("%s: CD-ROM tray was already open, closing it\n"), programName); CloseTray(fd); + } #else fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); @@ -687,81 +674,26 @@ */ static void SelectSpeedCdrom(int fd, int speed) { -#if defined(CDROM_SELECT_SPEED) && defined(CDROM_SEND_PACKET) - unsigned long rw_size; - unsigned char buffer[28]; - struct cdrom_generic_command cgc; - struct request_sense sense; - - memset(&cgc, 0, sizeof(cgc)); - memset(&sense, 0, sizeof(sense)); - memset(&buffer, 0, sizeof(buffer)); - - /* SET STREAMING command */ - cgc.cmd[0] = 0xB6; - /* parameter list length: 28 bytes */ - cgc.cmd[10] = 28; - - cgc.sense = &sense; - cgc.buffer = buffer; - cgc.buflen = sizeof(buffer); - cgc.data_direction = CGC_DATA_WRITE; - cgc.quiet = 1; - - if(speed == 0) { - /* set Restore Drive Defaults */ - buffer[0] = 4; - } + int status; - buffer[8] = 0xFF; - buffer[9] = 0xFF; - buffer[10] = 0xFF; - buffer[11] = 0xFF; - - rw_size = 177 * speed; - - /* read size */ - buffer[12] = (rw_size >> 24) & 0xFF; - buffer[13] = (rw_size >> 16) & 0xFF; - buffer[14] = (rw_size >> 8) & 0xFF; - buffer[15] = rw_size & 0xFF; - - /* read time: 1 second */ - buffer[18] = 0x03; - buffer[19] = 0xE8; - - /* write size */ - buffer[20] = (rw_size >> 24) & 0xFF; - buffer[21] = (rw_size >> 16) & 0xFF; - buffer[22] = (rw_size >> 8) & 0xFF; - buffer[23] = rw_size & 0xFF; - - /* write time: 1 second */ - buffer[26] = 0x03; - buffer[27] = 0xE8; - - if(ioctl(fd, CDROM_SEND_PACKET, &cgc) != 0) { - if(ioctl(fd, CDROM_SELECT_SPEED, speed) != 0) { - fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); - exit(1); - } +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); } #else fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); #endif } -static char *SymLink(const char *name); - /* * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported */ -#ifdef CDROM_SELECT_SPEED static int ReadSpeedCdrom(const char *shortName) { char line[512]; char *str_speed, *str_name; - int ld = 6; /* max symbolic link depth */ int drive_number = -1, i; FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); @@ -777,23 +709,6 @@ if (drive_number == -1) { if (strncmp(line, "drive name:", 11) == 0) { str_name = strtok(&line[11], "\t "); - /* str_name may contain a symlink */ - char *full_str_name, *dev_name; - int ret = asprintf(&full_str_name, "/dev/%s", str_name); - if (ret == -1) { - fprintf(stderr, _("%s: error while allocating string\n"), programName); - exit(1); - } - full_str_name[strlen(full_str_name)-1] = '\0'; /* chop trailing \n */ - while ((dev_name = SymLink(full_str_name)) && ld > 0) { - if (v_option) - printf(_("%s: `%s' is a link to `%s'\n"), programName, full_str_name, dev_name); - free(full_str_name); - full_str_name = strdup(dev_name); - free(dev_name); - ld--; - } - str_name = rindex(full_str_name, '/') + 1; drive_number = 0; while (strncmp(shortName, str_name, strlen(shortName)) != 0) { drive_number++; @@ -824,7 +739,7 @@ exit(1); return -1; } -#endif + /* * List Speed of CD-ROM drive. @@ -832,12 +747,9 @@ static void ListSpeedCdrom(const char *fullName, int fd) { #ifdef CDROM_SELECT_SPEED - int max_speed, curr_speed = 0, prev_speed, save_speed; + int max_speed, curr_speed = 0, prev_speed; char *shortName = rindex(fullName, '/') + 1; - - save_speed = ReadSpeedCdrom(shortName); - if (v_option) - printf(_("%s: saving original speed %d\n"), programName, save_speed); + SelectSpeedCdrom(fd, 0); max_speed = ReadSpeedCdrom(shortName); while (curr_speed < max_speed) { @@ -849,15 +761,8 @@ else curr_speed = prev_speed + 1; } + printf("\n"); - SelectSpeedCdrom(fd, save_speed); - curr_speed = ReadSpeedCdrom(shortName); - if (curr_speed != save_speed) - fprintf(stderr, _("%s: Could not restore original CD-ROM speed (was %d, is now %d)\n"), - programName, save_speed, curr_speed); - else - if (v_option) - printf(_("%s: restored original speed %d\n"), programName, save_speed); #else fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); #endif @@ -869,7 +774,7 @@ static int EjectCdrom(int fd) { int status = -1; - + UnlockCdrom(fd); #if defined(CDROMEJECT) status = ioctl(fd, CDROMEJECT); #elif defined(CDIOCEJECT) @@ -897,7 +802,9 @@ unsigned char sense_buffer[32]; if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { - printf("not an sg device, or old sg driver\n"); + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } return 0; } @@ -913,17 +820,17 @@ io_hdr.cmdp = allowRmBlk; status = ioctl(fd, SG_IO, (void *)&io_hdr); - if (status < 0 || io_hdr.host_status != DID_OK || io_hdr.driver_status != DRIVER_OK) + if (status < 0) return 0; io_hdr.cmdp = startStop1Blk; status = ioctl(fd, SG_IO, (void *)&io_hdr); - if (status < 0 || io_hdr.host_status != DID_OK || io_hdr.driver_status != DRIVER_OK) + if (status < 0) return 0; io_hdr.cmdp = startStop2Blk; status = ioctl(fd, SG_IO, (void *)&io_hdr); - if (status < 0 || io_hdr.host_status != DID_OK || io_hdr.driver_status != DRIVER_OK) + if (status < 0) return 0; /* force kernel to reread partition table when new disc inserted */ @@ -1001,22 +908,15 @@ } -/* Open a device file. Try opening first read/write, and if that fails then read only. */ +/* Open a device file. */ static int OpenDevice(const char *fullName) { - int fd; - - /* only try to open read/write if not root, since it doesn't seem - * to make a difference for root and can have negative side-effects - */ - if (geteuid()) { - fd = open(fullName, O_RDWR|O_NONBLOCK); - if (fd != -1) { - return fd; - } + int fd = open(fullName, O_RDWR|O_NONBLOCK); + if (fd == -1 && errno == EACCES) { + if (v_option) + printf(_("%s: unable to open `%s' for R/W, SCSI commands can be fail. Trying Read-Only\n"), programName, fullName); + fd = open(fullName, O_RDONLY|O_NONBLOCK); } - - fd = open(fullName, O_RDONLY|O_NONBLOCK); if (fd == -1) { fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); exit(1); @@ -1105,9 +1005,13 @@ int rc; fp = fopen("/etc/fstab", "r"); - - /* /etc/fstab may be unreadable in some situations due to passwords in the file. */ if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ if (v_option) { printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); } @@ -1119,15 +1023,6 @@ DeMangleMount(s1); DeMangleMount(s2); if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { - if (strncasecmp(s1, "UUID=", 5) == 0) { - char *realDeviceName = (char *) malloc(strlen(s1) + 32); - if (realDeviceName == NULL) { - fprintf(stderr, _("%s: could not allocate memory\n"), programName); - exit(1); - } - sprintf(realDeviceName, "/dev/disk/by-uuid/%s", s1 + 5); - strncpy(s1, realDeviceName, sizeof(s2)-1); - } FCLOSE(fp); *deviceName = strdup(s1); *mountName = strdup(s2); @@ -1138,68 +1033,6 @@ return 0; } -/* - * Find device name with the given major and minor number. Returns NULL if not - * found. The returned pointer points to static area and must not be free()'d. - */ -char* FindDeviceMajorMinor(int major, int minor) -{ - DIR* d = opendir("/dev"); - struct dirent *entry; - struct stat st; - dev_t dev = makedev(major, minor); - static char path[270]; - - if (!d) - return NULL; - while ((entry = readdir(d)) != 0) { - snprintf(path, sizeof(path), "/dev/%s", entry->d_name); - if (stat(path, &st) != 0) - continue; - if (S_ISBLK (st.st_mode) && st.st_rdev == dev) - return path; - } - return NULL; -} - -/* - * Check whether dev is an encrypted device handled by devmapper. If so, return - * the underlying physical device name (pointer to static area, do not free()). - * If not, or an error occurs, return NULL. - * This uses the /usr/lib/eject/dmcrypt-get-device helper. - */ -const char* dmcrypt_script = "/usr/lib/eject/dmcrypt-get-device"; -const char* GetDevmapperDevice (const char* dev) -{ - char cmd[1024]; - char output[100]; - int major, minor; - struct stat dummy; - - const char* devmapper = "/dev/mapper/"; - if (strncmp (dev, devmapper, strlen(devmapper))) - return NULL; - - if (strchr (dev, '\'')) - return NULL; - if ((stat(dmcrypt_script, &dummy) < 0) - && (errno == ENOENT)) { - if (v_option) - printf(_("%s: %s doesn't exist, skipping call\n"), - programName, dmcrypt_script); - return NULL; - } - snprintf (cmd, sizeof(cmd), "%s '%s'", dmcrypt_script, dev); - FILE* f = popen (cmd, "r"); - fread (output, 1, sizeof(output), f); - if (pclose(f)) - return NULL; - - if (sscanf(output, "%i:%i", &major, &minor) == 2) - return FindDeviceMajorMinor (major, minor); - else - return NULL; -} /* * Step through mount table and unmount all devices that match a regular @@ -1231,16 +1064,7 @@ if (status >= 2) { DeMangleMount(s1); DeMangleMount(s2); - /* Check if we have a mapped device */ - const char* dev = GetDevmapperDevice (s1); - if (dev) { - if (v_option) - printf(_("%s: %s is encrypted on real device %s\n"), - programName, s1, dev); - } else - dev = s1; - - status = regexec(&preg, dev, 0, 0, 0); + status = regexec(&preg, s1, 0, 0, 0); if (status == 0) { if (v_option) printf(_("%s: unmounting `%s'\n"), programName, s2); @@ -1302,15 +1126,6 @@ char pattern[256]; char *result = 0; - /* Check if we have a mapped device */ - const char* dev = GetDevmapperDevice (name); - if (dev) { - if (v_option) - printf(_("%s: %s is encrypted on real device %s\n"), - programName, name, dev); - name = dev; - } - for (i = 0; partitionDevice[i] != 0; i++) { /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ strcpy(pattern, "^/dev/"); @@ -1329,7 +1144,6 @@ exit(1); } strcpy(result, name); - /* 6 = "/dev/" and device character */ result[strlen(partitionDevice[i]) + 6] = 0; strcat(result, "([0-9]?[0-9])?$"); if (v_option) @@ -1342,6 +1156,145 @@ return 0; } +/* + * Find device name in /sys/block/. Returns NULL if not + * found. The returned pointer must be free()'d. + */ +static char* FindDeviceSysBlock(const char* deviceName) +{ + DIR *dir = opendir("/sys/block"); + struct dirent *d; + const char *baseName = strrchr(deviceName, '/'); + char *device; + int len; + + baseName = baseName ? baseName + 1 : deviceName; + if (!dir) { + fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); + return NULL; + } + while ((d = readdir(dir)) != NULL) { + if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) + continue; + len = strlen(d->d_name); + if (!strncmp(baseName, d->d_name, len)) { + if ((*(baseName+len) >= '0' && + *(baseName+len) <= '9') || + *(baseName+len) == '\0') { + device = strdup(d->d_name); + closedir(dir); + return device; + } + } + } + closedir(dir); + return NULL; +} + +/* + * From given path gets a subsystem. Returns subsystem if any found + * otherwise returns NULL. Returned value must not be free()'d + */ +static char *GetSubSystem(const char *sysfspath) +{ + static char subsystem[PATH_MAX]; + char link_subsystem[PATH_MAX]; + struct stat buf; + char *pos; + + snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); + + if (lstat(link_subsystem, &buf) == -1) + return NULL; + if (!S_ISLNK(buf.st_mode)) + return NULL; + if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) + return NULL; + if ((pos = strrchr(subsystem, '/')) == NULL) + return NULL; + strncpy(subsystem, pos+1, sizeof(subsystem)); + + return subsystem; +} + +/* + * Check content of /sys/block//removable. Returns 1 if the file + * contains '1' otherwise returns 0. + */ +static int CheckRemovable(const char* deviceName) +{ + FILE *fp; + int removable = 0; + char *device; + char path[PATH_MAX]; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, + _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/removable", device); + free(device); + if((fp = fopen(path, "r")) == NULL) + return removable; + if (fgetc(fp) == '1') + removable = 1; + + fclose(fp); + return removable; +} + +/* Check if a device is on hotpluggable subsystem. Returns 1 if is + * otherwise returns 0. + */ +static int CheckHotpluggable(const char* deviceName) +{ + int hotpluggable = 0; + char *device; + char path[PATH_MAX]; + char *device_chain; + struct stat buf; + char *subsystem; + char *pos; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/device", device); + free(device); + + if (lstat(path, &buf) == -1) + return hotpluggable; + if (!S_ISLNK(buf.st_mode)) + return hotpluggable; + if ((device_chain = SymLink(path)) == NULL) + return hotpluggable; + while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { + subsystem = GetSubSystem(device_chain); + if (subsystem) { + /* as hotpluggable we assume devices on these buses */ + if (strncmp("usb", subsystem, sizeof("usb")) == 0 || + strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || + strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || + strncmp("mmc", subsystem, sizeof("mmc")) == 0 || + strncmp("ccw", subsystem, sizeof("ccw")) == 0) { + hotpluggable = 1; + break; + } + } + /* remove one member from devicechain */ + pos = strrchr(device_chain, '/'); + if (pos) + pos[0] = '\0'; + else + device_chain[0] = '\0'; + } + + return hotpluggable; +} /* handle -x option */ static void HandleXOption(char *deviceName) @@ -1485,6 +1438,17 @@ exit(0); } + /* Check if device has removable flag*/ + if (v_option) + printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), + programName, deviceName); + if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) + { + fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), + programName, deviceName); + exit(1); + } + /* handle -i option */ if (i_option) { fd = OpenDevice(deviceName); @@ -1539,14 +1503,6 @@ pattern = MultiplePartitions(deviceName); if ((m_option != 1) && (pattern != 0)) UnmountDevices(pattern); - /* Linux Kernel >= 3.1 doesn't allow to send ioctl to partitions, - so identify the main device */ - if (pattern != 0) { - char* dev_name_end = strchr(pattern, '('); - deviceName[dev_name_end - pattern] = '\0'; - if (v_option) - printf(_("%s: using device name `%s' for ioctls\n"), programName, deviceName); - } /* handle -T option */ if (T_option) { diff -Nru eject-2.1.5+deb1+cvs20081104/.in eject-2.1.5/.in --- eject-2.1.5+deb1+cvs20081104/.in 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.in 2006-06-02 01:41:52.000000000 +0000 @@ -0,0 +1,73 @@ +/* .in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `regcomp' function. */ +#undef HAVE_REGCOMP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#undef HAVE_SYS_WAIT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const diff -Nru eject-2.1.5+deb1+cvs20081104/Makefile.in eject-2.1.5/Makefile.in --- eject-2.1.5+deb1+cvs20081104/Makefile.in 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/Makefile.in 2006-06-04 01:59:08.000000000 +0000 @@ -1,8 +1,6 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,289 +10,186 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -@SET_MAKE@ +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@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) + +top_builddir = . + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -bin_PROGRAMS = eject$(EXEEXT) volname$(EXEEXT) -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - TODO config.guess config.sub depcomp install-sh missing \ - mkinstalldirs -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_eject_OBJECTS = eject.$(OBJEXT) -eject_OBJECTS = $(am_eject_OBJECTS) -eject_LDADD = $(LDADD) -am_volname_OBJECTS = volname.$(OBJEXT) -volname_OBJECTS = $(am_volname_OBJECTS) -volname_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(eject_SOURCES) $(volname_SOURCES) -DIST_SOURCES = $(eject_SOURCES) $(volname_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(man_MANS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = po -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); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ +host_alias = @host_alias@ +host_triplet = @host@ CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ DEFAULTDEVICE = @DEFAULTDEVICE@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ +HAVE_LIB = @HAVE_LIB@ +LIB = @LIB@ +LTLIB = @LTLIB@ MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ VERSION = @VERSION@ -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_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -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_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ + +bin_PROGRAMS = eject volname eject_SOURCES = eject.c volname_SOURCES = volname.c + @USE_NLS_TRUE@SUBDIRS = po + AM_CPPFLAGS = -DDEFAULTDEVICE=\"$(DEFAULTDEVICE)\" -DGETOPTLONG AM_CFLAGS = -Wall $(RPM_OPT_FLAGS) + man_MANS = eject.1 volname.1 EXTRA_DIST = $(man_MANS) PORTING PROBLEMS bootstrap eject-$(VERSION).lsm eject-$(VERSION).spec debian/changelog debian/control debian/copyright debian/dirs debian/files debian/rules debian/substvars po/*.pot po/*.po po/Makefile i18n.h -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES = +PROGRAMS = $(bin_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +eject_OBJECTS = eject.o +eject_LDADD = $(LDADD) +eject_DEPENDENCIES = +eject_LDFLAGS = +volname_OBJECTS = volname.o +volname_LDADD = $(LDADD) +volname_DEPENDENCIES = +volname_LDFLAGS = +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +man1dir = $(mandir)/man1 +MANS = $(man_MANS) + +NROFF = nroff +DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ +Makefile.in NEWS TODO aclocal.m4 config.guess config.sub configure \ +configure.in install-sh missing mkinstalldirs + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +DIST_SUBDIRS = po +DEP_FILES = .deps/eject.P .deps/volname.P +SOURCES = $(eject_SOURCES) $(volname_SOURCES) +OBJECTS = $(eject_OBJECTS) $(volname_OBJECTS) + +all: all-redirect .SUFFIXES: -.SUFFIXES: .c .o .obj -am--refresh: - @: -$(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 \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; +.SUFFIXES: .S .c .o .s +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck +$(ACLOCAL_M4): configure.in + cd $(srcdir) && $(ACLOCAL) -$(top_srcdir)/configure: $(am__configure_deps) +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(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) - rm -f stamp-h1 - touch $@ +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: -distclean-hdr: - -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + $(mkinstalldirs) $(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; \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ 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"; \ + list='$(bin_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -eject$(EXEEXT): $(eject_OBJECTS) $(eject_DEPENDENCIES) - @rm -f eject$(EXEEXT) - $(LINK) $(eject_OBJECTS) $(eject_LDADD) $(LIBS) -volname$(EXEEXT): $(volname_OBJECTS) $(volname_DEPENDENCIES) - @rm -f volname$(EXEEXT) - $(LINK) $(volname_OBJECTS) $(volname_LDADD) $(LIBS) +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< mostlyclean-compile: - -rm -f *.$(OBJEXT) + -rm -f *.o core *.core + +clean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eject.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volname.Po@am__quote@ +maintainer-clean-compile: -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(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 -@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) '$<'` -install-man1: $(man1_MANS) $(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 \ +eject: $(eject_OBJECTS) $(eject_DEPENDENCIES) + @rm -f eject + $(LINK) $(eject_LDFLAGS) $(eject_OBJECTS) $(eject_LDADD) $(LIBS) + +volname: $(volname_OBJECTS) $(volname_DEPENDENCIES) + @rm -f volname + $(LINK) $(volname_LDFLAGS) $(volname_OBJECTS) $(volname_LDADD) $(LIBS) + +install-man1: + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ @@ -303,37 +198,32 @@ 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"; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ done + uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ + @list='$(man1_MANS)'; \ + l2='$(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"; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ done +install-man: $(MANS) + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-man1 +uninstall-man: + @$(NORMAL_UNINSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -341,14 +231,13 @@ # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + +@SET_MAKE@ + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive \ +check-recursive installcheck-recursive info-recursive dvi-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -360,31 +249,21 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ + test "$$subdir" != "." || dot_seen=yes; \ done; \ - rev="$$rev ."; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ @@ -394,339 +273,225 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 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) +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP)) + +mostlyclean-tags: + +clean-tags: distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f TAGS ID +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + -rm -rf $(distdir) + GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz + mkdir $(distdir)/=build + mkdir $(distdir)/=inst + dc_install_base=`cd $(distdir)/=inst && pwd`; \ + cd $(distdir)/=build \ + && ../configure --srcdir=.. --prefix=$$dc_install_base \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist + -rm -rf $(distdir) + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" +dist: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +dist-all: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + -rm -rf $(distdir) + mkdir $(distdir) + -chmod 777 $(distdir) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile + $(mkinstalldirs) $(distdir)/debian $(distdir)/po + @for file in $(DISTFILES); do \ + d=$(srcdir); \ if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + for subdir in $(DIST_SUBDIRS); do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - distdir) \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(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 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + -rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive check-am: all-am check: check-recursive -all-am: Makefile $(PROGRAMS) $(MANS) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive +installcheck-am: +installcheck: installcheck-recursive +install-exec-am: install-binPROGRAMS install-exec: install-exec-recursive + +install-data-am: install-man install-data: install-data-recursive -uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive +install: install-recursive +uninstall-am: uninstall-binPROGRAMS uninstall-man +uninstall: uninstall-recursive +all-am: Makefile $(PROGRAMS) $(MANS) +all-redirect: all-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 + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 + + mostlyclean-generic: clean-generic: distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-recursive - -install-exec-am: install-binPROGRAMS - -install-html: install-html-recursive - -install-info: install-info-recursive - -install-man: install-man1 - -install-pdf: install-pdf-recursive - -install-ps: install-ps-recursive - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic +mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic mostlyclean: mostlyclean-recursive -mostlyclean-am: mostlyclean-compile mostlyclean-generic +clean-am: clean-binPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am -pdf: pdf-recursive - -pdf-am: +clean: clean-recursive -ps: ps-recursive +distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am -ps-am: +distclean: distclean-recursive + -rm -f config.status -uninstall-am: uninstall-binPROGRAMS uninstall-man +maintainer-clean-am: maintainer-clean-binPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." -uninstall-man: uninstall-man1 +maintainer-clean: maintainer-clean-recursive + -rm -f config.status -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip +.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile install-man1 uninstall-man1 install-man \ +uninstall-man install-data-recursive uninstall-data-recursive \ +install-exec-recursive uninstall-exec-recursive installdirs-recursive \ +uninstalldirs-recursive all-recursive check-recursive \ +installcheck-recursive info-recursive dvi-recursive \ +mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir \ +mostlyclean-depend distclean-depend clean-depend \ +maintainer-clean-depend info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-binPROGRAMS \ - clean-generic ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ - distclean distclean-compile distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \ - uninstall-man1 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/applied-patches eject-2.1.5/.pc/applied-patches --- eject-2.1.5+deb1+cvs20081104/.pc/applied-patches 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/applied-patches 2014-06-13 11:28:05.000000000 +0000 @@ -0,0 +1,7 @@ +eject-2.1.1-verbose.patch +eject-2.1.5-lock.patch +eject-2.1.5-spaces.patch +eject-2.1.5-umount.patch +eject-timeout.patch +eject-2.1.5-unlock.patch +eject-2.1.5-openrw.patch diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.1-verbose.patch/eject.c eject-2.1.5/.pc/eject-2.1.1-verbose.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.1-verbose.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.1-verbose.patch/eject.c 2014-06-13 11:27:45.000000000 +0000 @@ -0,0 +1,1342 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + printf("not an sg device, or old sg driver\n"); + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 2000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-lock.patch/eject.1 eject-2.1.5/.pc/eject-2.1.5-lock.patch/eject.1 --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-lock.patch/eject.1 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-lock.patch/eject.1 2014-06-13 11:27:48.000000000 +0000 @@ -0,0 +1,327 @@ +.\" This file Copyright (C) 1994-2005 Jeff Tranter +.\" (tranter@pobox.com) +.\" It may be distributed under the GNU Public License, version 2, or +.\" any higher version. See section COPYING of the GNU Public license +.\" for conditions under which this file may be redistributed. +.TH EJECT 1 "12 May 2005" "Linux" "User Commands" +.SH NAME +eject \- eject removable media +.SH SYNOPSIS +eject \-h +.br +eject [\-vnrsfmqp] [] +.br +eject [\-vn] \-d +.br +eject [\-vn] \-a on|off|1|0 [] +.br +eject [\-vn] \-c slot [] +.br +eject [\-vn] \-t [] +.br +eject [\-vn] \-T [] +.br +eject [\-vn] \-x [] +.br +eject [\-vn] \-X [] +.br +eject \-V + +.SH DESCRIPTION + +.B Eject +allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ +or ZIP disk) to be ejected under software control. The command can +also control some multi-disc CD-ROM changers, the auto-eject feature +supported by some devices, and close the disc tray of some CD-ROM +drives. + +The device corresponding to is ejected. The name can be a +device file or mount point, either a full path or with the leading +"/dev", "/media" or "/mnt" omitted. If no name is specified, the default name +"cdrom" is used. + +There are four different methods of ejecting, depending on whether the +device is a CD-ROM, SCSI device, removable floppy, or tape. By default +eject tries all four methods in order until it succeeds. + +If the device is currently mounted, it is unmounted before ejecting. + +.PP +.SH "COMMAND\-LINE OPTIONS" +.TP 0.5i +.B \-h +This option causes +.B eject +to display a brief description of the command options. + +.TP 0.5i +.B \-v +This makes +.B eject +run in verbose mode; more information is displayed about what the +command is doing. + +.TP 0.5i +.B \-d +If invoked with this option, +.B eject +lists the default device name. + +.TP 0.5i +.B \-a on|1|off|0 +This option controls the auto-eject mode, supported by some devices. +When enabled, the drive automatically ejects when the device is +closed. + +.TP 0.5i +.B \-c +With this option a CD slot can be selected from an ATAPI/IDE CD-ROM +changer. Linux 2.0 or higher is required to use this feature. The +CD-ROM drive can not be in use (mounted data CD or playing a music CD) +for a change request to work. Please also note that the first slot of +the changer is referred to as 0, not 1. + +.TP 0.5i +.B \-t +With this option the drive is given a CD-ROM tray close command. Not +all devices support this command. + +.TP 0.5i +.B \-T +With this option the drive is given a CD-ROM tray close command if +it's opened, and a CD-ROM tray eject command if it's closed. Not all +devices support this command, because it uses the above CD-ROM tray +close command. + +.TP 0.5i +.B \-x +With this option the drive is given a CD-ROM select speed command. +The speed argument is a number indicating the desired speed (e.g. 8 +for 8X speed), or 0 for maximum data rate. Not all devices support +this command and you can only specify speeds that the drive is capable +of. Every time the media is changed this option is cleared. This +option can be used alone, or with the \-t and \-c options. + +.TP 0.5i +.B \-X +With this option the CD-ROM drive will be probed to detect the +available speeds. The output is a list of speeds which can be used as +an argument of the \-x option. This only works with Linux 2.6.13 or +higher, on previous versions solely the maximum speed will be +reported. Also note that some drive may not correctly report the speed +and therefore this option does not work with them. + +.TP 0.5i +.B \-n +With this option the selected device is displayed but no action is +performed. + +.TP 0.5i +.B \-r +This option specifies that the drive should be ejected using a +CDROM eject command. +.TP 0.5i + +.B \-s +This option specifies that the drive should be ejected using +SCSI commands. + +.TP 0.5i +.B \-f +This option specifies that the drive should be ejected using a +removable floppy disk eject command. + +.TP 0.5i +.B \-q +This option specifies that the drive should be ejected using a +tape drive offline command. + +.TP 0.5i +.B \-p +This option allow you to use /proc/mounts instead /etc/mtab. It +also passes the \-n option to umount(1). + +.TP 0.5i +.B \-m +This option allows eject to work with device drivers which automatically +mount removable media and therefore must be always mount()ed. +The option tells eject to not try to unmount the given device, +even if it is mounted according to /etc/mtab or /proc/mounts. + +.TP 0.5i +.B \-V +This option causes +.B eject +to display the program version and exit. + +.SH LONG OPTIONS +All options have corresponding long names, as listed below. The long +names can be abbreviated as long as they are unique. + +.br +\-h \-\-help +.br +\-v \-\-verbose +.br +\-d \-\-default +.br +\-a \-\-auto +.br +\-c \-\-changerslot +.br +\-t \-\-trayclose +.br +\-T \-\-traytoggle +.br +\-x \-\-cdspeed +.br +\-X \-\-listspeed +.br +\-n \-\-noop +.br +\-r \-\-cdrom +.br +\-s \-\-scsi +.br +\-f \-\-floppy +.br +\-q \-\-tape +.br +\-V \-\-version +.br +\-p \-\-proc +.br +\-m \-\-no-unmount +.br + +.SH EXAMPLES +.PP +Eject the default device: +.IP +eject +.PP +Eject a device or mount point named cdrom: +.IP +eject cdrom +.PP +Eject using device name: +.IP +eject /dev/cdrom +.PP +Eject using mount point: +.IP +eject /mnt/cdrom/ +.PP +Eject 4th IDE device: +.IP +eject hdd +.PP +Eject first SCSI device: +.IP +eject sda +.PP +Eject using SCSI partition name (e.g. a ZIP drive): +.IP +eject sda4 +.PP +Select 5th disc on multi-disc changer: +.IP +eject \-v \-c4 /dev/cdrom +.PP +Turn on auto-eject on a SoundBlaster CD-ROM drive: +.IP +eject \-a on /dev/sbpcd + +.SH EXIT STATUS +.PP + +Returns 0 if operation was successful, 1 if operation failed or command +syntax was not valid. + +.SH NOTES +.PP + +.B Eject +only works with devices that support one or more of the four methods +of ejecting. This includes most CD-ROM drives (IDE, SCSI, and +proprietary), some SCSI tape drives, JAZ drives, ZIP drives (parallel +port, SCSI, and IDE versions), and LS120 removable floppies. Users +have also reported success with floppy drives on Sun SPARC and Apple +Macintosh systems. If +.B eject +does not work, it is most likely a limitation of the kernel driver +for the device and not the +.B eject +program itself. + +The \-r, \-s, \-f, and \-q options allow controlling which methods are +used to eject. More than one method can be specified. If none of these +options are specified, it tries all four (this works fine in most +cases). + +.B Eject +may not always be able to determine if the device is mounted (e.g. if +it has several names). If the device name is a symbolic link, +.B eject +will follow the link and use the device that it points to. + +If +.B eject +determines that the device can have multiple partitions, it will +attempt to unmount all mounted partitions of the device before +ejecting. If an unmount fails, the program will not attempt to eject +the media. + +You can eject an audio CD. Some CD-ROM drives will refuse to open the +tray if the drive is empty. Some devices do not support the tray close +command. + +If the auto-eject feature is enabled, then the drive will always be +ejected after running this command. Not all Linux kernel CD-ROM +drivers support the auto-eject mode. There is no way to find out the +state of the auto-eject mode. + +You need appropriate privileges to access the device files. Running as +root or setuid root is required to eject some devices (e.g. SCSI +devices). + +The heuristic used to find a device, given a name, is as follows. If +the name ends in a trailing slash, it is removed (this is to support +filenames generated using shell file name completion). If the name +starts with '.' or '/', it tries to open it as a device file or mount +point. If that fails, it tries prepending '/dev/', '/media/' ,'/mnt/', +\&'/dev/cdroms', '/dev/rdsk/', '/dev/dsk/', and finally './' to the name, +until a +device file or mount point is found that can be opened. The program +checks /etc/mtab for mounted devices. If that fails, it also checks +/etc/fstab for mount points of currently unmounted devices. + +Creating symbolic links such as /dev/cdrom or /dev/zip is recommended +so that +.B eject +can determine the appropriate devices using easily remembered names. + +To save typing you can create a shell alias for the eject options that +work for your particular setup. + +.SH AUTHOR +.B Eject +was written by Jeff Tranter (tranter@pobox.com) and is released +under the conditions of the GNU General Public License. See the file +COPYING and notes in the source code for details. + +The \-x option was added by Nobuyuki Tsuchimura (tutimura@nn.iij4u.or.jp), +with thanks to Roland Krivanek (krivanek@fmph.uniba.sk) and his +cdrom_speed command. + +The \-T option was added by Sybren Stuvel (sybren@thirdtower.com), with +big thanks to Benjamin Schwenk (benjaminschwenk@yahoo.de). + +The \-X option was added by Eric Piel (Eric.Piel@tremplin-utc.net). + +.SH SEE ALSO + +mount(2), umount(2), mount(8), umount(8) +.br +/usr/src/linux/Documentation/cdrom/ diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-lock.patch/eject.c eject-2.1.5/.pc/eject-2.1.5-lock.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-lock.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-lock.patch/eject.c 2014-06-13 11:27:48.000000000 +0000 @@ -0,0 +1,1344 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 2000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-openrw.patch/eject.c eject-2.1.5/.pc/eject-2.1.5-openrw.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-openrw.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-openrw.patch/eject.c 2014-06-13 11:28:05.000000000 +0000 @@ -0,0 +1,1600 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int i_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +int i_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'i': + i_option = 1; + if (!strcmp(optarg, "0")) + i_arg = 0; + else if (!strcmp(optarg, "off")) + i_arg = 0; + else if (!strcmp(optarg, "1")) + i_arg = 1; + else if (!strcmp(optarg, "on")) + i_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); + exit(1); + } + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Linux mangles spaces in mount points by changing them to an octal string + * of '\040'. So lets scan the mount point and fix it up by replacing all + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable + * string as input as we mangle in place. Some of this was taken from the + * util-linux package. + */ +#define octalify(a) ((a) & 7) +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) +#define isoctal(a) (((a) & ~7) == '0') +static char *DeMangleMount(char *s) +{ + char *tmp = s; + while ((tmp = strchr(tmp, '\\')) != NULL) { + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { + tmp[0] = tooctal(tmp); + memmove(tmp+1, tmp+4, strlen(tmp)-3); + } + ++tmp; + } + return s; +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* + * Stops CDROM from opening on manual eject pressing the button. + * This can be useful when you carry your laptop + * in your bag while it's on and no CD inserted in it's drive. + * Implemented as found in Documentation/ioctl/cdrom.txt + * + * TODO: Maybe we should check this also: + * EDRIVE_CANT_DO_THIS Door lock function not supported. + * EBUSY Attempt to unlock when multiple users + * have the drive open and not CAP_SYS_ADMIN + */ +static void ManualEject(int fd, int onOff) +{ + if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { + perror("ioctl on CDROM_LOCKDOOR"); + } else { + if (onOff) + printf("CD-Drive may NOT be ejected with device button\n"); + else + printf("CD-Drive may be ejected with device button\n"); + } +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Unlock tray using CDROM_LOCKDOOR ioctl. + * New kernels doesn't automatically unlock tray before ejecting, + * and the new udev automatically locks it. + */ +static int UnlockCdrom(int fd) +{ + int status = -1; + + if (v_option) + printf(_("%s: unlocking tray using CDROM_LOCKDOOR ioctl\n"), programName); + + status = ioctl(fd, CDROM_LOCKDOOR, 0); + if (v_option && status != 0) + printf(_("%s: CDROM_LOCKDOOR ioctl failed\n"), programName); + + return (status == 0); +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + UnlockCdrom(fd); + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + { + if (v_option) + printf(_("%s: CD-ROM tray was already open, closing it\n"), programName); + CloseTray(fd); + } + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + UnlockCdrom(fd); +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + DeMangleMount(s1); + DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + DeMangleMount(s1); + DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + DeMangleMount(s1); + DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + +/* + * Find device name in /sys/block/. Returns NULL if not + * found. The returned pointer must be free()'d. + */ +static char* FindDeviceSysBlock(const char* deviceName) +{ + DIR *dir = opendir("/sys/block"); + struct dirent *d; + const char *baseName = strrchr(deviceName, '/'); + char *device; + int len; + + baseName = baseName ? baseName + 1 : deviceName; + if (!dir) { + fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); + return NULL; + } + while ((d = readdir(dir)) != NULL) { + if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) + continue; + len = strlen(d->d_name); + if (!strncmp(baseName, d->d_name, len)) { + if ((*(baseName+len) >= '0' && + *(baseName+len) <= '9') || + *(baseName+len) == '\0') { + device = strdup(d->d_name); + closedir(dir); + return device; + } + } + } + closedir(dir); + return NULL; +} + +/* + * From given path gets a subsystem. Returns subsystem if any found + * otherwise returns NULL. Returned value must not be free()'d + */ +static char *GetSubSystem(const char *sysfspath) +{ + static char subsystem[PATH_MAX]; + char link_subsystem[PATH_MAX]; + struct stat buf; + char *pos; + + snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); + + if (lstat(link_subsystem, &buf) == -1) + return NULL; + if (!S_ISLNK(buf.st_mode)) + return NULL; + if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) + return NULL; + if ((pos = strrchr(subsystem, '/')) == NULL) + return NULL; + strncpy(subsystem, pos+1, sizeof(subsystem)); + + return subsystem; +} + +/* + * Check content of /sys/block//removable. Returns 1 if the file + * contains '1' otherwise returns 0. + */ +static int CheckRemovable(const char* deviceName) +{ + FILE *fp; + int removable = 0; + char *device; + char path[PATH_MAX]; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, + _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/removable", device); + free(device); + if((fp = fopen(path, "r")) == NULL) + return removable; + if (fgetc(fp) == '1') + removable = 1; + + fclose(fp); + return removable; +} + +/* Check if a device is on hotpluggable subsystem. Returns 1 if is + * otherwise returns 0. + */ +static int CheckHotpluggable(const char* deviceName) +{ + int hotpluggable = 0; + char *device; + char path[PATH_MAX]; + char *device_chain; + struct stat buf; + char *subsystem; + char *pos; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/device", device); + free(device); + + if (lstat(path, &buf) == -1) + return hotpluggable; + if (!S_ISLNK(buf.st_mode)) + return hotpluggable; + if ((device_chain = SymLink(path)) == NULL) + return hotpluggable; + while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { + subsystem = GetSubSystem(device_chain); + if (subsystem) { + /* as hotpluggable we assume devices on these buses */ + if (strncmp("usb", subsystem, sizeof("usb")) == 0 || + strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || + strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || + strncmp("mmc", subsystem, sizeof("mmc")) == 0 || + strncmp("ccw", subsystem, sizeof("ccw")) == 0) { + hotpluggable = 1; + break; + } + } + /* remove one member from devicechain */ + pos = strrchr(device_chain, '/'); + if (pos) + pos[0] = '\0'; + else + device_chain[0] = '\0'; + } + + return hotpluggable; +} + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* Check if device has removable flag*/ + if (v_option) + printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), + programName, deviceName); + if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) + { + fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), + programName, deviceName); + exit(1); + } + + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); + ManualEject(fd, i_arg); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-spaces.patch/eject.c eject-2.1.5/.pc/eject-2.1.5-spaces.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-spaces.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-spaces.patch/eject.c 2014-06-13 11:27:52.000000000 +0000 @@ -0,0 +1,1394 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int i_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +int i_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'i': + i_option = 1; + if (!strcmp(optarg, "0")) + i_arg = 0; + else if (!strcmp(optarg, "off")) + i_arg = 0; + else if (!strcmp(optarg, "1")) + i_arg = 1; + else if (!strcmp(optarg, "on")) + i_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); + exit(1); + } + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* + * Stops CDROM from opening on manual eject pressing the button. + * This can be useful when you carry your laptop + * in your bag while it's on and no CD inserted in it's drive. + * Implemented as found in Documentation/ioctl/cdrom.txt + * + * TODO: Maybe we should check this also: + * EDRIVE_CANT_DO_THIS Door lock function not supported. + * EBUSY Attempt to unlock when multiple users + * have the drive open and not CAP_SYS_ADMIN + */ +static void ManualEject(int fd, int onOff) +{ + if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { + perror("ioctl on CDROM_LOCKDOOR"); + } else { + if (onOff) + printf("CD-Drive may NOT be ejected with device button\n"); + else + printf("CD-Drive may be ejected with device button\n"); + } +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 2000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); + ManualEject(fd, i_arg); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-umount.patch/eject.c eject-2.1.5/.pc/eject-2.1.5-umount.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-umount.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-umount.patch/eject.c 2014-06-13 11:27:56.000000000 +0000 @@ -0,0 +1,1424 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int i_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +int i_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'i': + i_option = 1; + if (!strcmp(optarg, "0")) + i_arg = 0; + else if (!strcmp(optarg, "off")) + i_arg = 0; + else if (!strcmp(optarg, "1")) + i_arg = 1; + else if (!strcmp(optarg, "on")) + i_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); + exit(1); + } + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Linux mangles spaces in mount points by changing them to an octal string + * of '\040'. So lets scan the mount point and fix it up by replacing all + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable + * string as input as we mangle in place. Some of this was taken from the + * util-linux package. + */ +#define octalify(a) ((a) & 7) +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) +#define isoctal(a) (((a) & ~7) == '0') +static char *DeMangleMount(char *s) +{ + char *tmp = s; + while ((tmp = strchr(tmp, '\\')) != NULL) { + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { + tmp[0] = tooctal(tmp); + memmove(tmp+1, tmp+4, strlen(tmp)-3); + } + ++tmp; + } + return s; +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* + * Stops CDROM from opening on manual eject pressing the button. + * This can be useful when you carry your laptop + * in your bag while it's on and no CD inserted in it's drive. + * Implemented as found in Documentation/ioctl/cdrom.txt + * + * TODO: Maybe we should check this also: + * EDRIVE_CANT_DO_THIS Door lock function not supported. + * EBUSY Attempt to unlock when multiple users + * have the drive open and not CAP_SYS_ADMIN + */ +static void ManualEject(int fd, int onOff) +{ + if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { + perror("ioctl on CDROM_LOCKDOOR"); + } else { + if (onOff) + printf("CD-Drive may NOT be ejected with device button\n"); + else + printf("CD-Drive may be ejected with device button\n"); + } +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 2000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + DeMangleMount(s1); + DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + DeMangleMount(s1); + DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + DeMangleMount(s1); + DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); + ManualEject(fd, i_arg); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-unlock.patch/eject.c eject-2.1.5/.pc/eject-2.1.5-unlock.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-2.1.5-unlock.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-2.1.5-unlock.patch/eject.c 2014-06-13 11:28:02.000000000 +0000 @@ -0,0 +1,1575 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int i_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +int i_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'i': + i_option = 1; + if (!strcmp(optarg, "0")) + i_arg = 0; + else if (!strcmp(optarg, "off")) + i_arg = 0; + else if (!strcmp(optarg, "1")) + i_arg = 1; + else if (!strcmp(optarg, "on")) + i_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); + exit(1); + } + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Linux mangles spaces in mount points by changing them to an octal string + * of '\040'. So lets scan the mount point and fix it up by replacing all + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable + * string as input as we mangle in place. Some of this was taken from the + * util-linux package. + */ +#define octalify(a) ((a) & 7) +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) +#define isoctal(a) (((a) & ~7) == '0') +static char *DeMangleMount(char *s) +{ + char *tmp = s; + while ((tmp = strchr(tmp, '\\')) != NULL) { + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { + tmp[0] = tooctal(tmp); + memmove(tmp+1, tmp+4, strlen(tmp)-3); + } + ++tmp; + } + return s; +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* + * Stops CDROM from opening on manual eject pressing the button. + * This can be useful when you carry your laptop + * in your bag while it's on and no CD inserted in it's drive. + * Implemented as found in Documentation/ioctl/cdrom.txt + * + * TODO: Maybe we should check this also: + * EDRIVE_CANT_DO_THIS Door lock function not supported. + * EBUSY Attempt to unlock when multiple users + * have the drive open and not CAP_SYS_ADMIN + */ +static void ManualEject(int fd, int onOff) +{ + if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { + perror("ioctl on CDROM_LOCKDOOR"); + } else { + if (onOff) + printf("CD-Drive may NOT be ejected with device button\n"); + else + printf("CD-Drive may be ejected with device button\n"); + } +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + DeMangleMount(s1); + DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + DeMangleMount(s1); + DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + DeMangleMount(s1); + DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + +/* + * Find device name in /sys/block/. Returns NULL if not + * found. The returned pointer must be free()'d. + */ +static char* FindDeviceSysBlock(const char* deviceName) +{ + DIR *dir = opendir("/sys/block"); + struct dirent *d; + const char *baseName = strrchr(deviceName, '/'); + char *device; + int len; + + baseName = baseName ? baseName + 1 : deviceName; + if (!dir) { + fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); + return NULL; + } + while ((d = readdir(dir)) != NULL) { + if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) + continue; + len = strlen(d->d_name); + if (!strncmp(baseName, d->d_name, len)) { + if ((*(baseName+len) >= '0' && + *(baseName+len) <= '9') || + *(baseName+len) == '\0') { + device = strdup(d->d_name); + closedir(dir); + return device; + } + } + } + closedir(dir); + return NULL; +} + +/* + * From given path gets a subsystem. Returns subsystem if any found + * otherwise returns NULL. Returned value must not be free()'d + */ +static char *GetSubSystem(const char *sysfspath) +{ + static char subsystem[PATH_MAX]; + char link_subsystem[PATH_MAX]; + struct stat buf; + char *pos; + + snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); + + if (lstat(link_subsystem, &buf) == -1) + return NULL; + if (!S_ISLNK(buf.st_mode)) + return NULL; + if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) + return NULL; + if ((pos = strrchr(subsystem, '/')) == NULL) + return NULL; + strncpy(subsystem, pos+1, sizeof(subsystem)); + + return subsystem; +} + +/* + * Check content of /sys/block//removable. Returns 1 if the file + * contains '1' otherwise returns 0. + */ +static int CheckRemovable(const char* deviceName) +{ + FILE *fp; + int removable = 0; + char *device; + char path[PATH_MAX]; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, + _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/removable", device); + free(device); + if((fp = fopen(path, "r")) == NULL) + return removable; + if (fgetc(fp) == '1') + removable = 1; + + fclose(fp); + return removable; +} + +/* Check if a device is on hotpluggable subsystem. Returns 1 if is + * otherwise returns 0. + */ +static int CheckHotpluggable(const char* deviceName) +{ + int hotpluggable = 0; + char *device; + char path[PATH_MAX]; + char *device_chain; + struct stat buf; + char *subsystem; + char *pos; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/device", device); + free(device); + + if (lstat(path, &buf) == -1) + return hotpluggable; + if (!S_ISLNK(buf.st_mode)) + return hotpluggable; + if ((device_chain = SymLink(path)) == NULL) + return hotpluggable; + while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { + subsystem = GetSubSystem(device_chain); + if (subsystem) { + /* as hotpluggable we assume devices on these buses */ + if (strncmp("usb", subsystem, sizeof("usb")) == 0 || + strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || + strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || + strncmp("mmc", subsystem, sizeof("mmc")) == 0 || + strncmp("ccw", subsystem, sizeof("ccw")) == 0) { + hotpluggable = 1; + break; + } + } + /* remove one member from devicechain */ + pos = strrchr(device_chain, '/'); + if (pos) + pos[0] = '\0'; + else + device_chain[0] = '\0'; + } + + return hotpluggable; +} + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* Check if device has removable flag*/ + if (v_option) + printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), + programName, deviceName); + if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) + { + fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), + programName, deviceName); + exit(1); + } + + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); + ManualEject(fd, i_arg); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/eject-timeout.patch/eject.c eject-2.1.5/.pc/eject-timeout.patch/eject.c --- eject-2.1.5+deb1+cvs20081104/.pc/eject-timeout.patch/eject.c 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/eject-timeout.patch/eject.c 2014-06-13 11:27:59.000000000 +0000 @@ -0,0 +1,1575 @@ +/******************************************************************** + * + * L I N U X E J E C T C O M M A N D + * + * by Jeff Tranter (tranter@pobox.com) + * + ******************************************************************** + * + * Copyright (C) 1994-2001 Jeff Tranter (tranter@pobox.com) + * Copyright (C) 2004, 2005 Frank Lichtenheld (djpig@debian.org) + * + * 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 + * + ******************************************************************** + * + * See the man page for a description of what this program does and what + * the requirements to run it are. + * + */ + +#include "i18n.h" + +#ifndef DEFAULTDEVICE +#error DEFAULTDEVICE not set, check Makefile +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef GETOPTLONG +#include +#endif /* GETOPTLONG */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(__linux__) +#include +/* handy macro found in 2.1 kernels, but not in older ones */ +#ifndef KERNEL_VERSION +#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) +#endif +#include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) +#include +#endif +#include +#include +#include +#include +#include + +/* Used by the ToggleTray() function. If ejecting the tray takes this + * time or less, the tray was probably already ejected, so we close it + * again. + */ +#define TRAY_WAS_ALREADY_OPEN_USECS 200000 /* about 0.2 seconds */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define HAVE_EJECT_SCSI +#define HAVE_EJECT_FLOPPY +#define HAVE_EJECT_TAPE + +#elif defined(__FreeBSD_kernel__) +#include +#endif /* if defined(__linux__) */ + + +#define CLOSE(fd) if (close(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +#define FCLOSE(fd) if (fclose(fd)==-1) { \ + perror(programName); \ + exit(1); \ +} + +/* Global Variables */ +static const char *version = VERSION; /* program version */ +int a_option = 0; /* command flags and arguments */ +int c_option = 0; +int d_option = 0; +int f_option = 0; +int h_option = 0; +int n_option = 0; +int i_option = 0; +int q_option = 0; +int r_option = 0; +int s_option = 0; +int t_option = 0; +int T_option = 0; +int X_option = 0; +int v_option = 0; +int x_option = 0; +int p_option = 0; +int m_option = 0; +int a_arg = 0; +int c_arg = 0; +int x_arg = 0; +int i_arg = 0; +static char *programName; /* used in error messages */ + +/* + * These are the basenames of devices which can have multiple + * partitions per device. + */ +static const char *partitionDevice[] = { + "hd", + "sd", + "xd", + "dos_hd", + "mfm", + "ad", + "ed", + "ftl", + "pd", + 0}; + + +/* Display command usage on standard error and exit. */ +static void usage() +{ +// perror(_("%s: device is `%s'\n")); + fprintf(stderr,_( +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h -- display command usage and exit\n" +" eject -V -- display program version and exit\n" +" eject [-vnrsfqpm] [] -- eject device\n" +" eject [-vn] -d -- display default device\n" +" eject [-vn] -a on|off|1|0 [] -- turn auto-eject feature on or off\n" +" eject [-vn] -c [] -- switch discs on a CD-ROM changer\n" +" eject [-vn] -t [] -- close tray\n" +" eject [-vn] -T [] -- toggle tray\n" +" eject [-vn] -i on|off|1|0 [] -- toggle manual eject protection on/off\n" +" eject [-vn] -x [] -- set CD-ROM max speed\n" +" eject [-vn] -X [] -- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +#ifdef HAVE_EJECT_SCSI +" -s\t-- eject SCSI device\n" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f\t-- eject floppy\n" +#endif +#ifdef HAVE_EJECT_TAPE +" -q\t-- eject tape\n" +#endif +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +) +, version); +#ifdef GETOPTLONG + fprintf(stderr,_( +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom" +#ifdef HAVE_EJECT_SCSI +" -s --scsi" +#endif +#ifdef HAVE_EJECT_FLOPPY +" -f --floppy" +#endif +" -X --listspeed" +#ifdef HAVE_EJECT_TAPE +" -q --tape" +#endif +"\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle -i --manualeject\n")); +#endif /* GETOPTLONG */ + fprintf(stderr,_( +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n"), + DEFAULTDEVICE); + exit(1); +} + + +/* Handle command line options. */ +static void parse_args(int argc, char **argv, char **device) +{ + const char *flags = "a:c:x:i:dfhnqrstTXvVpm"; +#ifdef GETOPTLONG + static struct option long_options[] = + { + {"help", no_argument, NULL, 'h'}, + {"verbose", no_argument, NULL, 'v'}, + {"default", no_argument, NULL, 'd'}, + {"auto", required_argument, NULL, 'a'}, + {"changerslot", required_argument, NULL, 'c'}, + {"manualeject", required_argument, NULL, 'i'}, + {"trayclose", no_argument, NULL, 't'}, + {"traytoggle", no_argument, NULL, 'T'}, + {"cdspeed", required_argument, NULL, 'x'}, + {"listspeed", no_argument, NULL, 'X'}, + {"noop", no_argument, NULL, 'n'}, + {"cdrom", no_argument, NULL, 'r'}, + {"scsi", no_argument, NULL, 's'}, + {"floppy", no_argument, NULL, 'f'}, + {"tape", no_argument, NULL, 'q'}, + {"version", no_argument, NULL, 'V'}, + {"proc", no_argument, NULL, 'p'}, + {"no-unmount", no_argument, NULL, 'm'}, + {0, 0, 0, 0} + }; + int option_index; +#endif /* GETOPTLONG */ + int c; + +#ifdef GETOPTLONG + while ((c = getopt_long(argc, argv, flags, long_options, &option_index)) != EOF) { +#else + while ((c = getopt(argc, argv, flags)) != EOF) { +#endif /* GETOPTLONG */ + switch (c) { + case 'a': + a_option = 1; + if (!strcmp(optarg, "0")) + a_arg = 0; + else if (!strcmp(optarg, "off")) + a_arg = 0; + else if (!strcmp(optarg, "1")) + a_arg = 1; + else if (!strcmp(optarg, "on")) + a_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to --auto/-a option\n"), programName); + exit(1); + } + break; + case 'c': + c_option = 1; + /* atoi() returns 0 on error, so "0" must be parsed separately */ + if (!strcmp(optarg, "0")) + c_arg = 0; + else { + c_arg = atoi(optarg); + if (c_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --changerslot/-c option\n"), programName); + exit(1); + } + } + break; + case 'x': + x_option = 1; + if (!strcmp(optarg, "0")) + x_arg = 0; + else { + x_arg = atoi(optarg); + if (x_arg <= 0) { + fprintf(stderr, _("%s: invalid argument to --cdspeed/-x option\n"), programName); + exit(1); + } + } + break; + case 'd': + d_option = 1; + break; + case 'f': + f_option = 1; + break; + case 'h': + usage(); + exit(0); + break; + case 'i': + i_option = 1; + if (!strcmp(optarg, "0")) + i_arg = 0; + else if (!strcmp(optarg, "off")) + i_arg = 0; + else if (!strcmp(optarg, "1")) + i_arg = 1; + else if (!strcmp(optarg, "on")) + i_arg = 1; + else { + fprintf(stderr, _("%s: invalid argument to -i option\n"), programName); + exit(1); + } + break; + case 'm': + m_option = 1; + break; + case 'n': + n_option = 1; + break; + case 'p': + p_option = 1; + break; + case 'q': + q_option = 1; + break; + case 'r': + r_option = 1; + break; + case 's': + s_option = 1; + break; + case 't': + t_option = 1; + break; + case 'X': + X_option = 1; + break; + case 'T': + T_option = 1; + break; + case 'v': + v_option = 1; + break; + case 'V': + printf(_("eject version %s by Jeff Tranter (tranter@pobox.com)\n"), version); + exit(0); + break; + case '?': + exit(1); + break; + } + } + /* check for a single additional argument */ + if ((argc - optind) > 1) { + fprintf(stderr, _("%s: too many arguments\n"), programName); + exit(1); + } + if ((argc - optind) == 1) { /* one argument */ + *device = strdup(argv[optind]); + } +} + + +/* Return 1 if file/device exists, 0 otherwise. */ +static int FileExists(const char *name, const int try, int *found) +{ + + if (!found) return -1; + /* + * access() uses the UID, not the EUID. This way a normal user + * cannot find out if a file (say, /root/fubar) exists or not, even + * if eject is SUID root + */ + if (access (name, F_OK) == 0) { + (*found)++; + if (try <= (*found)) + return 1; + else + return 0; + } else { + return 0; + } +} + + +/* + * Linux mangles spaces in mount points by changing them to an octal string + * of '\040'. So lets scan the mount point and fix it up by replacing all + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable + * string as input as we mangle in place. Some of this was taken from the + * util-linux package. + */ +#define octalify(a) ((a) & 7) +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) +#define isoctal(a) (((a) & ~7) == '0') +static char *DeMangleMount(char *s) +{ + char *tmp = s; + while ((tmp = strchr(tmp, '\\')) != NULL) { + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { + tmp[0] = tooctal(tmp); + memmove(tmp+1, tmp+4, strlen(tmp)-3); + } + ++tmp; + } + return s; +} + + +/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') + * /dev/foo + * /media/foo + * /mnt/foo + * /dev/cdroms/foo + * /dev/cdroms/foo0 + * /dev/dsk/foo + * /dev/rdsk/foo + * ./foo + * + * If found, return the full path. If not found, return 0. + * Returns pointer to dynamically allocated string. + */ +static char *FindDevice(const char *name) +{ + char *buf; + static int try = 0; + int found = 0; + + buf = (char *) malloc(strlen(name)+14); /* to allow for "/dev/cdroms/ + "0" + null */ + if (buf==NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + + if (try == INT_MAX) { + fprintf(stderr, _("%s: FindDevice called too often\n"), programName );; + exit(1); + } else + try++; + + if ((name[0] == '.') || (name[0] == '/')) { + strcpy(buf, name); + if (FileExists(buf, try, &found)) + return buf; + } + + strcpy(buf, "/dev/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/media/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/mnt/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Linux */ + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/cdroms/"); + strcat(buf, name); + strcat(buf, "0"); + if (FileExists(buf, try, &found)) + return buf; + + /* for devfs under Solaris */ + strcpy(buf, "/dev/rdsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "/dev/dsk/"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + strcpy(buf, "./"); + strcat(buf, name); + if (FileExists(buf, try, &found)) + return buf; + + free(buf); + buf = 0; + return 0; +} + + +/* + * Stops CDROM from opening on manual eject pressing the button. + * This can be useful when you carry your laptop + * in your bag while it's on and no CD inserted in it's drive. + * Implemented as found in Documentation/ioctl/cdrom.txt + * + * TODO: Maybe we should check this also: + * EDRIVE_CANT_DO_THIS Door lock function not supported. + * EBUSY Attempt to unlock when multiple users + * have the drive open and not CAP_SYS_ADMIN + */ +static void ManualEject(int fd, int onOff) +{ + if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) { + perror("ioctl on CDROM_LOCKDOOR"); + } else { + if (onOff) + printf("CD-Drive may NOT be ejected with device button\n"); + else + printf("CD-Drive may be ejected with device button\n"); + } +} + + +/* Set or clear auto-eject mode. */ +static void AutoEject(int fd, int onOff) +{ + int status = -1; + +#if defined(CDROM_SET_OPTIONS) && defined(CDROM_CLEAR_OPTIONS) + if (onOff) + status = ioctl(fd, CDROM_SET_OPTIONS, CDO_AUTO_EJECT); + else + status = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_AUTO_EJECT); +#else + errno = ENOSYS; +#endif + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM auto-eject command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +} + + +/* + * Changer select. CDROM_SELECT_DISC is preferred, older kernels used + * CDROMLOADFROMSLOT. + */ +static void ChangerSelect(int fd, int slot) +{ + int status; + +#ifdef CDROM_SELECT_DISC + status = ioctl(fd, CDROM_SELECT_DISC, slot); + if (status < 0) { + fprintf(stderr, _("%s: CD-ROM select disc command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#elif defined CDROMLOADFROMSLOT + status = ioctl(fd, CDROMLOADFROMSLOT, slot); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM load from slot command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n"), programName); +#endif +} + + +/* + * Close tray. Not supported by older kernels. + */ +static void CloseTray(int fd) +{ + int status; + +#if defined(CDROMCLOSETRAY) || defined(CDIOCCLOSE) +#if defined(CDROMCLOSETRAY) + status = ioctl(fd, CDROMCLOSETRAY); +#elif defined(CDIOCCLOSE) + status = ioctl(fd, CDIOCCLOSE); +#endif + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM tray close command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM tray close command not supported by this kernel\n"), programName); +#endif +} + +/* + * Toggle tray. + * + * Written by Benjamin Schwenk and + * Sybren Stuvel + * + * Not supported by older kernels because it might use + * CloseTray(). + * + */ +static void ToggleTray(int fd) +{ + struct timeval time_start, time_stop; + int time_elapsed; + +#ifdef CDROMCLOSETRAY + + /* Try to open the CDROM tray and measure the time therefor + * needed. In my experience the function needs less than 0.05 + * seconds if the tray was already open, and at least 1.5 seconds + * if it was closed. */ + gettimeofday(&time_start, NULL); + + /* Send the CDROMEJECT command to the device. */ + if (ioctl(fd, CDROMEJECT, 0) < 0) { + perror("ioctl"); + exit(1); + } + + /* Get the second timestamp, to measure the time needed to open + * the tray. */ + gettimeofday(&time_stop, NULL); + + time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) - + (time_start.tv_sec * 1000000 + time_start.tv_usec); + + /* If the tray "opened" too fast, we can be nearly sure, that it + * was already open. In this case, close it now. Else the tray was + * closed before. This would mean that we are done. */ + if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS) + CloseTray(fd); + +#else + fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName); +#endif + +} + +/* + * Select Speed of CD-ROM drive. + * Thanks to Roland Krivanek (krivanek@fmph.uniba.sk) + * http://dmpc.dbp.fmph.uniba.sk/~krivanek/cdrom_speed/ + */ +static void SelectSpeedCdrom(int fd, int speed) +{ + int status; + +#ifdef CDROM_SELECT_SPEED + status = ioctl(fd, CDROM_SELECT_SPEED, speed); + if (status != 0) { + fprintf(stderr, _("%s: CD-ROM select speed command failed: %s\n"), programName, strerror(errno)); + exit(1); + } +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Read Speed of CD-ROM drive. From Linux 2.6.13, the current speed is correctly reported + */ +static int ReadSpeedCdrom(const char *shortName) +{ + char line[512]; + char *str_speed, *str_name; + int drive_number = -1, i; + FILE *f = fopen("/proc/sys/dev/cdrom/info", "r"); + + if (f == NULL) { + fprintf(stderr, _("%s: unable to read the speed from /proc/sys/dev/cdrom/info\n"), programName); + exit(1); + } + + while (!feof(f)) { + fgets(line, sizeof(line), f); + + /* find drive number from shortName in line "drive name" */ + if (drive_number == -1) { + if (strncmp(line, "drive name:", 11) == 0) { + str_name = strtok(&line[11], "\t "); + drive_number = 0; + while (strncmp(shortName, str_name, strlen(shortName)) != 0) { + drive_number++; + str_name = strtok(NULL, "\t "); + if (str_name == NULL) { + fprintf(stderr, _("%s: error while finding CD-ROM name\n"), programName); + exit(1); + } + } + } + /* find line "drive speed" and read the correct speed */ + } else { + if (strncmp(line, "drive speed:", 12) == 0) { + str_speed = strtok(&line[12], "\t "); + for (i = 1; i < drive_number; i++) + str_speed = strtok(NULL, "\t "); + + if (str_speed == NULL) { + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + } + return atoi(str_speed); + } + } + } + + fprintf(stderr, _("%s: error while reading speed\n"), programName); + exit(1); + return -1; +} + + +/* + * List Speed of CD-ROM drive. + */ +static void ListSpeedCdrom(const char *fullName, int fd) +{ +#ifdef CDROM_SELECT_SPEED + int max_speed, curr_speed = 0, prev_speed; + char *shortName = rindex(fullName, '/') + 1; + + SelectSpeedCdrom(fd, 0); + max_speed = ReadSpeedCdrom(shortName); + while (curr_speed < max_speed) { + prev_speed = curr_speed; + SelectSpeedCdrom(fd, prev_speed + 1); + curr_speed = ReadSpeedCdrom(shortName); + if (curr_speed > prev_speed) + printf("%d ", curr_speed); + else + curr_speed = prev_speed + 1; + } + + printf("\n"); +#else + fprintf(stderr, _("%s: CD-ROM select speed command not supported by this kernel\n"), programName); +#endif +} + +/* + * Eject using CDROMEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectCdrom(int fd) +{ + int status = -1; + +#if defined(CDROMEJECT) + status = ioctl(fd, CDROMEJECT); +#elif defined(CDIOCEJECT) + status = ioctl(fd, CDIOCEJECT); +#else +/* Some kernels implement cdrom-eject only, but I don't think any kernel in the + world would implement eject only for non-cdrom drives. Let's die. */ +# error +#endif + return (status == 0); +} + +#ifdef HAVE_EJECT_SCSI +/* + * Eject using SCSI SG_IO commands. Return 1 if successful, 0 otherwise. + */ +static int EjectScsi(int fd) +{ + int status, k; + sg_io_hdr_t io_hdr; + unsigned char allowRmBlk[6] = {ALLOW_MEDIUM_REMOVAL, 0, 0, 0, 0, 0}; + unsigned char startStop1Blk[6] = {START_STOP, 0, 0, 0, 1, 0}; + unsigned char startStop2Blk[6] = {START_STOP, 0, 0, 0, 2, 0}; + unsigned char inqBuff[2]; + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { + if (v_option) { + printf(_("not an sg device, or old sg driver\n")); + } + return 0; + } + + memset(&io_hdr, 0, sizeof(sg_io_hdr_t)); + io_hdr.interface_id = 'S'; + io_hdr.cmd_len = 6; + io_hdr.mx_sb_len = sizeof(sense_buffer); + io_hdr.dxfer_direction = SG_DXFER_NONE; + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; + io_hdr.timeout = 2000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop1Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + io_hdr.cmdp = startStop2Blk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); + if (status < 0) + return 0; + + /* force kernel to reread partition table when new disc inserted */ + status = ioctl(fd, BLKRRPART); + return 1; +} +#endif + + +#ifdef HAVE_EJECT_FLOPPY +/* + * Eject using FDEJECT ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectFloppy(int fd) +{ + int status; + + status = ioctl(fd, FDEJECT); + return (status >= 0); +} +#endif + + +#ifdef HAVE_EJECT_TAPE +/* + * Eject using tape ioctl. Return 1 if successful, 0 otherwise. + */ +static int EjectTape(int fd) +{ + int status; + struct mtop op; + + op.mt_op = MTOFFL; /* rewind and eject */ + op.mt_count = 0; /* not used */ + status = ioctl(fd, MTIOCTOP, &op); + return (status >= 0); +} +#endif + + +/* Unmount a device. */ +static void Unmount(const char *fullName) +{ + int status; + + switch (fork()) { + case 0: /* child */ + setuid(getuid()); /* reduce likelyhood of security holes when running setuid */ + if(p_option) { + execlp("pumount", "pumount", fullName, "-n", NULL); + execlp("umount", "umount", fullName, "-n", NULL); + } else { + execlp("pumount", "pumount", fullName, NULL); + execlp("umount", "umount", fullName, NULL); + } + fprintf(stderr, _("%s: unable to exec umount of `%s': %s\n"), + programName, fullName, strerror(errno)); + exit(1); + break; + case -1: + fprintf(stderr, _("%s: unable to fork: %s\n"), programName, strerror(errno)); + break; + default: /* parent */ + wait(&status); + if (WIFEXITED(status) == 0) { + fprintf(stderr, _("%s: unmount of `%s' did not exit normally\n"), programName, fullName); + exit(1); + } + if (WEXITSTATUS(status) != 0) { + fprintf(stderr, _("%s: unmount of `%s' failed\n"), programName, fullName); + exit(1); + } + break; + } +} + + +/* Open a device file. */ +static int OpenDevice(const char *fullName) +{ + int fd = open(fullName, O_RDONLY|O_NONBLOCK); + if (fd == -1) { + fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName); + exit(1); + } + return fd; +} + + +/* + * Get major and minor device numbers for a device file name, so we + * can check for duplicate devices. + */ +static int GetMajorMinor(const char *name, int *maj, int *min) +{ + struct stat sstat; + if (maj) *maj = -1; + if (min) *min = -1; + if (stat(name, &sstat) == -1) + return -1; + if (! S_ISBLK(sstat.st_mode) && ! S_ISCHR(sstat.st_mode)) + return -1; + if (maj) *maj = major(sstat.st_rdev); + if (min) *min = minor(sstat.st_rdev); + return 0; +} + + +/* + * See if device has been mounted by looking in mount table. If so, set + * device name and mount point name, and return 1, otherwise return 0. + */ +static int MountedDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + int maj; + int min; + + GetMajorMinor(name, &maj, &min); + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"), (p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2) { + int mtabmaj, mtabmin; + DeMangleMount(s1); + DeMangleMount(s2); + GetMajorMinor(s1, &mtabmaj, &mtabmin); + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + } + *deviceName = 0; + *mountName = 0; + FCLOSE(fp); + return 0; +} + + +/* + * See if device can be mounted by looking in /etc/fstab. + * If so, set device name and mount point name, and return 1, + * otherwise return 0. + */ +static int MountableDevice(const char *name, char **mountName, char **deviceName) +{ + FILE *fp; + char line[1024]; + char s1[1024]; + char s2[1024]; + int rc; + + fp = fopen("/etc/fstab", "r"); + if (fp == NULL) { +/* + * /etc/fstab may be unreadable in some situations due to passwords in the + * file. + */ +/* fprintf(stderr, _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + exit(1);*/ + if (v_option) { + printf( _("%s: unable to open /etc/fstab: %s\n"), programName, strerror(errno)); + } + return -1; + } + + while (fgets(line, sizeof(line), fp) != 0) { + rc = sscanf(line, "%1023s %1023s", s1, s2); + DeMangleMount(s1); + DeMangleMount(s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); + *deviceName = strdup(s1); + *mountName = strdup(s2); + return 1; + } + } + FCLOSE(fp); + return 0; +} + + +/* + * Step through mount table and unmount all devices that match a regular + * expression. + */ +static void UnmountDevices(const char *pattern) +{ + regex_t preg; + FILE *fp; + char s1[1024]; + char s2[1024]; + char line[1024]; + int status; + + if (regcomp(&preg, pattern, REG_EXTENDED)!=0) { + perror(programName); + exit(1); + } + + fp = fopen((p_option ? "/proc/mounts" : "/etc/mtab"), "r"); + if (fp == NULL) + { + fprintf(stderr, _("unable to open %s: %s\n"),(p_option ? "/proc/mounts" : "/etc/mtab"), strerror(errno)); + exit(1); + } + + while (fgets(line, sizeof(line), fp) != 0) { + status = sscanf(line, "%1023s %1023s", s1, s2); + if (status >= 2) { + DeMangleMount(s1); + DeMangleMount(s2); + status = regexec(&preg, s1, 0, 0, 0); + if (status == 0) { + if (v_option) + printf(_("%s: unmounting `%s'\n"), programName, s2); + Unmount(s2); + } + } + } + regfree(&preg); + FCLOSE(fp); +} + + +/* Check if name is a symbolic link. If so, return what it points to. */ +static char *SymLink(const char *name) +{ + int status; + char s1[PATH_MAX]; + char s2[PATH_MAX]; + char s4[PATH_MAX]; + char result[PATH_MAX]; + char *s3; + + memset(s1, 0, sizeof(s1)); + memset(s2, 0, sizeof(s2)); + memset(s4, 0, sizeof(s4)); + memset(result, 0, sizeof(result)); + + status = readlink(name, s1, sizeof(s1) - 1); + + if (status == -1) + return 0; + + s1[status] = 0; + if (s1[0] == '/') { /* absolute link */ + return strdup(s1); + } else { /* relative link, add base name */ + strncpy(s2, name, sizeof(s2)-1); + s3 = strrchr(s2, '/'); + if (s3 != 0) { + s3[1] = 0; + snprintf(result, sizeof(result)-1, "%s%s", s2, s1); + } + } + realpath(result, s4); + return strdup(s4); +} + + +/* + * Given a name, see if it matches a pattern for a device that can have + * multiple partitions. If so, return a regular expression that matches + * partitions for that device, otherwise return 0. + */ +static char *MultiplePartitions(const char *name) +{ + int i = 0; + int status; + regex_t preg; + char pattern[256]; + char *result = 0; + + for (i = 0; partitionDevice[i] != 0; i++) { + /* look for ^/dev/foo[a-z]([0-9]?[0-9])?$, e.g. /dev/hda1 */ + strcpy(pattern, "^/dev/"); + strcat(pattern, partitionDevice[i]); + strcat(pattern, "[a-z]([0-9]?[0-9])?$"); + if (regcomp(&preg, pattern, REG_EXTENDED|REG_NOSUB) != 0) { + perror(programName); + exit(1); + } + status = regexec(&preg, name, 1, 0, 0); + regfree(&preg); + if (status == 0) { + result = (char *) malloc(strlen(name) + 25); + if (result == NULL) { + fprintf(stderr, _("%s: could not allocate memory\n"), programName); + exit(1); + } + strcpy(result, name); + result[strlen(partitionDevice[i]) + 6] = 0; + strcat(result, "([0-9]?[0-9])?$"); + if (v_option) + printf(_("%s: `%s' is a multipartition device\n"), programName, name); + return result; + } + } + if (v_option) + printf(_("%s: `%s' is not a multipartition device\n"), programName, name); + return 0; +} + +/* + * Find device name in /sys/block/. Returns NULL if not + * found. The returned pointer must be free()'d. + */ +static char* FindDeviceSysBlock(const char* deviceName) +{ + DIR *dir = opendir("/sys/block"); + struct dirent *d; + const char *baseName = strrchr(deviceName, '/'); + char *device; + int len; + + baseName = baseName ? baseName + 1 : deviceName; + if (!dir) { + fprintf(stderr, _("%s: can not open directory /sys/block/"), programName); + return NULL; + } + while ((d = readdir(dir)) != NULL) { + if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN) + continue; + len = strlen(d->d_name); + if (!strncmp(baseName, d->d_name, len)) { + if ((*(baseName+len) >= '0' && + *(baseName+len) <= '9') || + *(baseName+len) == '\0') { + device = strdup(d->d_name); + closedir(dir); + return device; + } + } + } + closedir(dir); + return NULL; +} + +/* + * From given path gets a subsystem. Returns subsystem if any found + * otherwise returns NULL. Returned value must not be free()'d + */ +static char *GetSubSystem(const char *sysfspath) +{ + static char subsystem[PATH_MAX]; + char link_subsystem[PATH_MAX]; + struct stat buf; + char *pos; + + snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath); + + if (lstat(link_subsystem, &buf) == -1) + return NULL; + if (!S_ISLNK(buf.st_mode)) + return NULL; + if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1) + return NULL; + if ((pos = strrchr(subsystem, '/')) == NULL) + return NULL; + strncpy(subsystem, pos+1, sizeof(subsystem)); + + return subsystem; +} + +/* + * Check content of /sys/block//removable. Returns 1 if the file + * contains '1' otherwise returns 0. + */ +static int CheckRemovable(const char* deviceName) +{ + FILE *fp; + int removable = 0; + char *device; + char path[PATH_MAX]; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, + _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/removable", device); + free(device); + if((fp = fopen(path, "r")) == NULL) + return removable; + if (fgetc(fp) == '1') + removable = 1; + + fclose(fp); + return removable; +} + +/* Check if a device is on hotpluggable subsystem. Returns 1 if is + * otherwise returns 0. + */ +static int CheckHotpluggable(const char* deviceName) +{ + int hotpluggable = 0; + char *device; + char path[PATH_MAX]; + char *device_chain; + struct stat buf; + char *subsystem; + char *pos; + + if ((device = FindDeviceSysBlock(deviceName)) == NULL) { + fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"), + programName, deviceName); + exit(1); + } + snprintf(path, sizeof(path), "/sys/block/%s/device", device); + free(device); + + if (lstat(path, &buf) == -1) + return hotpluggable; + if (!S_ISLNK(buf.st_mode)) + return hotpluggable; + if ((device_chain = SymLink(path)) == NULL) + return hotpluggable; + while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) { + subsystem = GetSubSystem(device_chain); + if (subsystem) { + /* as hotpluggable we assume devices on these buses */ + if (strncmp("usb", subsystem, sizeof("usb")) == 0 || + strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 || + strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 || + strncmp("mmc", subsystem, sizeof("mmc")) == 0 || + strncmp("ccw", subsystem, sizeof("ccw")) == 0) { + hotpluggable = 1; + break; + } + } + /* remove one member from devicechain */ + pos = strrchr(device_chain, '/'); + if (pos) + pos[0] = '\0'; + else + device_chain[0] = '\0'; + } + + return hotpluggable; +} + +/* handle -x option */ +static void HandleXOption(char *deviceName) +{ + int fd; /* file descriptor for device */ + if (x_option) { + if (v_option) + { + if (x_arg == 0) + printf(_("%s: setting CD-ROM speed to auto\n"), programName); + else + printf(_("%s: setting CD-ROM speed to %dX\n"), programName, x_arg); + } + fd = OpenDevice(deviceName); + SelectSpeedCdrom(fd, x_arg); + exit(0); + } +} + + +/* main program */ +int main(int argc, char **argv) +{ + const char *defaultDevice = DEFAULTDEVICE; /* default if no name passed by user */ + int worked = 0; /* set to 1 when successfully ejected */ + char *device = 0; /* name passed from user */ + char *fullName; /* expanded name */ + char *fullNameOrig;/* expanded name (links not resolved) */ + char *deviceName; /* name of device */ + char *linkName; /* name of device's symbolic link */ + char *mountName; /* name of device's mount point */ + int fd; /* file descriptor for device */ + int mounted = 0; /* true if device is mounted */ + int mountable = 0; /* true if device is in /etc/fstab */ + int result = 0; /* store the result of a operation */ + char *pattern; /* regex for device if multiple partitions */ + int ld = 6; /* symbolic link max depth */ + + I18NCODE + + /* program name is global variable used by other procedures */ + programName = strdup(argv[0]); + + /* parse the command line arguments */ + parse_args(argc, argv, &device); + + + /* handle -d option */ + if (d_option) { + printf(_("%s: default device: `%s'\n"), programName, defaultDevice); + exit(0); + } + + /* if no device, use default */ + if (device == 0) { + device = strdup(defaultDevice); + if (v_option) + printf(_("%s: using default device `%s'\n"), programName, device); + } + + /* Strip any trailing slash from name in case user used bash/tcsh + style filename completion (e.g. /mnt/cdrom/) */ + if (device[strlen(device)-1] == '/') + device[strlen(device)-1] = 0; + + if (v_option) + printf(_("%s: device name is `%s'\n"), programName, device); + + do { + /* figure out full device or mount point name */ + fullName = FindDevice(device); + if (fullName == 0) { + fprintf(stderr, _("%s: unable to find or open device for: `%s'\n"), + programName, device); + exit(1); + } + if (v_option) + printf(_("%s: expanded name is `%s'\n"), programName, fullName); + + /* check for a symbolic link */ + /* /proc/mounts doesn't resolve symbolic links */ + fullNameOrig = strdup(fullName); + linkName = strdup(fullName); /* ensure linkName is initialized */ + if (!p_option) { + while ((linkName = SymLink(fullName)) && (ld > 0)) { + if (v_option) + printf(_("%s: `%s' is a link to `%s'\n"), programName, + fullName, linkName); + free(fullName); + fullName = strdup(linkName); + free(linkName); + linkName = 0; + ld--; + } + } + /* handle max depth exceeded option */ + if (ld <= 0) { + printf(_("%s: maximum symbolic link depth exceeded: `%s'\n"), programName, fullName); + exit(1); + } + + /* if mount point, get device name */ + mounted = MountedDevice(fullName, &mountName, &deviceName); + if (v_option) { + if (mounted) + printf(_("%s: `%s' is mounted at `%s'\n"), programName, + deviceName, mountName); + else + printf(_("%s: `%s' is not mounted\n"), programName, fullName); + } + if (!mounted) { + deviceName = strdup(fullName); + } + + /* if not currently mounted, see if it is a possible mount point */ + if (!mounted) { + mountable = MountableDevice(fullName, &mountName, &deviceName); + /* if return value -1 then fstab could not be read */ + if (v_option && mountable >= 0) { + if (mountable) + printf(_("%s: `%s' can be mounted at `%s'\n"), programName, deviceName, mountName); + else + printf(_("%s: `%s' is not a mount point\n"), programName, fullName); + } + } + + result = GetMajorMinor(deviceName, NULL, NULL); + if (result == -1) { + fprintf(stderr, + _("%s: tried to use `%s' as device name but it is no block device\n"), + programName, deviceName); + } + + } while (result == -1); + + /* handle -n option */ + if (n_option) { + printf(_("%s: device is `%s'\n"), programName, deviceName); + if (v_option) + printf(_("%s: exiting due to -n/--noop option\n"), programName); + exit(0); + } + + /* Check if device has removable flag*/ + if (v_option) + printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"), + programName, deviceName); + if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName)) + { + fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"), + programName, deviceName); + exit(1); + } + + /* handle -i option */ + if (i_option) { + fd = OpenDevice(deviceName); + ManualEject(fd, i_arg); + exit(0); + } + + /* handle -a option */ + if (a_option) { + if (v_option) { + if (a_arg) + printf(_("%s: enabling auto-eject mode for `%s'\n"), programName, deviceName); + else + printf(_("%s: disabling auto-eject mode for `%s'\n"), programName, deviceName); + } + fd = OpenDevice(deviceName); + AutoEject(fd, a_arg); + exit(0); + } + + /* handle -t option */ + if (t_option) { + if (v_option) + printf(_("%s: closing tray\n"), programName); + fd = OpenDevice(deviceName); + CloseTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -X option */ + if (X_option) { + if (v_option) + printf(_("%s: listing CD-ROM speed\n"), programName); + fd = OpenDevice(deviceName); + ListSpeedCdrom(deviceName, fd); + exit(0); + } + + /* handle -x option only */ + if (!c_option) HandleXOption(deviceName); + + /* unmount device if mounted */ + if ((m_option != 1) && mounted) { + if (v_option) + printf(_("%s: unmounting device `%s' from `%s'\n"), programName, deviceName, mountName); + Unmount(mountName); + } + + /* if it is a multipartition device, unmount any other partitions on + the device */ + pattern = MultiplePartitions(deviceName); + if ((m_option != 1) && (pattern != 0)) + UnmountDevices(pattern); + + /* handle -T option */ + if (T_option) { + if (v_option) + printf(_("%s: toggling tray\n"), programName); + fd = OpenDevice(deviceName); + ToggleTray(fd); + HandleXOption(deviceName); + exit(0); + } + + /* handle -c option */ + if (c_option) { + if (v_option) + printf(_("%s: selecting CD-ROM disc #%d\n"), programName, c_arg); + fd = OpenDevice(deviceName); + ChangerSelect(fd, c_arg); + HandleXOption(deviceName); + exit(0); + } + + /* if user did not specify type of eject, try all four methods */ + if ((r_option + s_option + f_option + q_option) == 0) { + r_option = s_option = f_option = q_option = 1; + } + + /* open device */ + fd = OpenDevice(deviceName); + + /* try various methods of ejecting until it works */ + if (r_option) { + if (v_option) + printf(_("%s: trying to eject `%s' using CD-ROM eject command\n"), programName, deviceName); + worked = EjectCdrom(fd); + if (v_option) { + if (worked) + printf(_("%s: CD-ROM eject command succeeded\n"), programName); + else + printf(_("%s: CD-ROM eject command failed\n"), programName); + } + } + +#ifdef HAVE_EJECT_SCSI + if (s_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using SCSI commands\n"), programName, deviceName); + worked = EjectScsi(fd); + if (v_option) { + if (worked) + printf(_("%s: SCSI eject succeeded\n"), programName); + else + printf(_("%s: SCSI eject failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_FLOPPY + if (f_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using floppy eject command\n"), programName, deviceName); + worked = EjectFloppy(fd); + if (v_option) { + if (worked) + printf(_("%s: floppy eject command succeeded\n"), programName); + else + printf(_("%s: floppy eject command failed\n"), programName); + } + } +#endif + +#ifdef HAVE_EJECT_TAPE + if (q_option && !worked) { + if (v_option) + printf(_("%s: trying to eject `%s' using tape offline command\n"), programName, deviceName); + worked = EjectTape(fd); + if (v_option) { + if (worked) + printf(_("%s: tape offline command succeeded\n"), programName); + else + printf(_("%s: tape offline command failed\n"), programName); + } + } +#endif + + if (!worked) { + fprintf(stderr, _("%s: unable to eject, last error: %s\n"), programName, strerror(errno)); + exit(1); + } + + /* cleanup */ + CLOSE(fd); + free(device); + free(deviceName); + free(fullName); + free(fullNameOrig); + free(linkName); + free(mountName); + free(pattern); + exit(0); +} diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/.quilt_patches eject-2.1.5/.pc/.quilt_patches --- eject-2.1.5+deb1+cvs20081104/.pc/.quilt_patches 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/.quilt_patches 2014-06-13 11:25:36.000000000 +0000 @@ -0,0 +1 @@ +debian/patches diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/.quilt_series eject-2.1.5/.pc/.quilt_series --- eject-2.1.5+deb1+cvs20081104/.pc/.quilt_series 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/.quilt_series 2014-06-13 11:25:36.000000000 +0000 @@ -0,0 +1 @@ +series diff -Nru eject-2.1.5+deb1+cvs20081104/.pc/.version eject-2.1.5/.pc/.version --- eject-2.1.5+deb1+cvs20081104/.pc/.version 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/.pc/.version 2014-06-13 11:25:36.000000000 +0000 @@ -0,0 +1 @@ +2 diff -Nru eject-2.1.5+deb1+cvs20081104/po/cs_CZ.po eject-2.1.5/po/cs_CZ.po --- eject-2.1.5+deb1+cvs20081104/po/cs_CZ.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/cs_CZ.po 2006-06-02 01:40:21.000000000 +0000 @@ -0,0 +1,373 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# Jeff Tranter , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: eject 2.0.13deb-4\n" +"POT-Creation-Date: 2004-05-07 01:11+0200\n" +"PO-Revision-Date: 2006-05-29 13:50+0200\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../eject.c:125 +#, c-format +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +msgstr "" +"Eject verze %s od Jeffa Trantera (tranter@pobox.com), český překlad Marv\n" +"Použití:\n" +" eject -h\t\t\t\t-- zobrazí tuto nápovědu a skončí\n" +" eject -V\t\t\t\t-- zobrazí verzi programu a skončí\n" +" eject [-vnrsfq] []\t\t-- vysune zařízení\n" +" eject [-vn] -d\t\t\t-- zobrazí výchozí zařízení\n" +" eject [-vn] -a on|off|1|0 []\t-- zapne (on)/vypne (off) automatické vysouvání\n" +" eject [-vn] -c []\t-- vymění disk v CD-ROM měniči\n" +" eject [-vn] -t []\t\t-- zavře dvířka\n" +" eject [-vn] -x []\t-- nastaví rychlost CD-ROM\n" +"Volby:\n" +" -v\t-- povolí výpis komentářů\n" +" -n\t-- nevysouvat, jen ukázat, jestli zařízení existuje\n" +" -r\t-- vysunout CD-ROM\n" +" -s\t-- vysunout SCSI zařízení\n" +" -f\t-- vysunout disketu\n" +" -q\t-- vysunout pásku\n" +" -p\t-- použít /proc/mounts místo /etc/mtab\n" +" -m\t-- neodpojovat zařízení ikdyž je připojeno\n" + +#: ../eject.c:148 +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" +msgstr "" +"Dlouhé volby:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" + +#: ../eject.c:156 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"Parametr může být soubor zařízení nebo přípojný bod.\n" +"Pokud jej vynecháte, jako výchozí se zvolí \"%s\".\n" +"Jako výchozí se zkouší -r, -s, -f, a -q v tomto pořadí, dokud se nezadaří.\n" + +#: ../eject.c:209 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: neplatný argument pro volbu --auto/-a\n" + +#: ../eject.c:221 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: neplatný argument pro volbu --changerslot/-c\n" + +#: ../eject.c:233 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: neplatný argument pro volbu --cdspeed/-x\n" + +#: ../eject.c:273 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject verze %s od Jeffa Trantera (tranter@pobox.com), český překlad Marv\n" + +#: ../eject.c:283 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: příliš mnoho argumentů\n" + +#: ../eject.c:331 +#, c-format +msgid "%s: could not allocate memory\n" +msgstr "%s: nelze přidělit paměť\n" + +#: ../eject.c:404 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: příkaz pro automatické vysunutí CD-ROM selhal: %s\n" + +#: ../eject.c:421 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: příkaz pro volbu disku CD-ROM selhal: %s\n" + +#: ../eject.c:427 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: příkaz pro načtení CD-ROM ze zásobníku měniče selhal: %s\n" + +#: ../eject.c:431 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: toto jádro nepodporuje IDE/ATAPI CD-ROM měnič\n" + +#: ../eject.c:446 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: příkaz pro zavření dvířek CD-ROM selhal: %s\n" + +#: ../eject.c:450 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: toto jádro nepodporuje příkaz pro zavření dvířek CD-ROM\n" + +#: ../eject.c:467 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: příkaz pro volbu rychlosti CD-ROM selhal: %s\n" + +#: ../eject.c:471 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "%s: toto jádro nepodporuje příkaz pro volbu rychlosti CD-ROM\n" + +#: ../eject.c:581 +#, c-format +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: nelze spustit /bin/umount pro \"%s\": %s\n" + +#: ../eject.c:586 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: nelze rozvětvit proces: %s\n" + +#: ../eject.c:591 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: odopojení \"%s\" neskončilo normálně\n" + +#: ../eject.c:595 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: odpojení \"%s\" selhalo\n" + +#: ../eject.c:608 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: nelze otevřít \"%s\"\n" + +#: ../eject.c:653 ../eject.c:740 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "nelze otevřít %s: %s\n" + +#: ../eject.c:700 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: nelze otevřít /etc/fstab: %s\n" + +#: ../eject.c:750 ../eject.c:984 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: odpojuje se \"%s\"\n" + +#: ../eject.c:823 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: \"%s\" je zařízení s více oddíly\n" + +#: ../eject.c:828 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: \"%s\" není zařízení s více oddíly\n" + +#: ../eject.c:841 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: nastavuje se rychlost CD-ROM na auto\n" + +#: ../eject.c:843 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: nastavuje se rychlost CD-ROM na %dX\n" + +#: ../eject.c:879 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: výchozí zařízení: \"%s\"\n" + +#: ../eject.c:887 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: použivá se výchozího zařízení \"%s\"\n" + +#: ../eject.c:896 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: název zařízení je \"%s\"\n" + +#: ../eject.c:901 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: nelze nalézt nebo otevřít zařízení pro: \"%s\"\n" + +#: ../eject.c:905 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: rozšířený název je \"%s\"\n" + +#: ../eject.c:910 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: \"%s\" je odkaz na \"%s\"\n" + +#: ../eject.c:919 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: překročena maximální hloubka symbolického odkazu: \"%s\"\n" + +#: ../eject.c:927 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: \"%s\" je připojený v \"%s\"\n" + +#: ../eject.c:929 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: \"%s\" není připojený\n" + +#: ../eject.c:941 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: \"%s\" může být připojený v \"%s\"\n" + +#: ../eject.c:943 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: \"%s\" není přípojný bod\n" + +#: ../eject.c:949 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: zařízení je \"%s\"\n" + +#: ../eject.c:951 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: ukončuje se na základě volby -n/--noop\n" + +#: ../eject.c:959 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: povoluje režim automatického vysunutí pro \"%s\"\n" + +#: ../eject.c:961 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: zakazuje se režim automatického vysunutí pro \"%s\"\n" + +#: ../eject.c:971 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: zavírají se dvířka\n" + +#: ../eject.c:997 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: volí se CD-ROM disk #%d\n" + +#: ../eject.c:1015 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu pro vysunutí CD-ROM\n" + +#: ../eject.c:1019 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: příkaz pro vysunutí CD-ROM uspěl\n" + +#: ../eject.c:1021 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: příkaz pro vysunutí CD-ROM selhal\n" + +#: ../eject.c:1027 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu SCSI pro vysunutí\n" + +#: ../eject.c:1031 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: příkaz SCSI pro vysunutí uspěl\n" + +#: ../eject.c:1033 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: příkaz SCSI pro vysunutí selhal\n" + +#: ../eject.c:1039 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu pro vysunutí diskety\n" + +#: ../eject.c:1043 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: příkaz pro vysunutí diskety uspěl\n" + +#: ../eject.c:1045 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: příkaz pro vysunutí diskety selhal\n" + +#: ../eject.c:1051 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu pro odpojení pásky\n" + +#: ../eject.c:1055 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: příkaz pro odpojení pásky uspěl\n" + +#: ../eject.c:1057 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: příkaz pro odpojení pásky selhal\n" + +#: ../eject.c:1062 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: není možné vysunout, poslední chyba: %s\n" + +#: ../volname.c:58 +msgid "usage: volname []\n" +msgstr "použití: volname []\n" + +#: ../volname.c:64 ../volname.c:70 ../volname.c:76 +msgid "volname" +msgstr "název svazku" + diff -Nru eject-2.1.5+deb1+cvs20081104/po/cs.po eject-2.1.5/po/cs.po --- eject-2.1.5+deb1+cvs20081104/po/cs.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/cs.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,448 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# Jeff Tranter , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.0.13deb-4\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2006-05-29 13:50+0200\n" -"Last-Translator: Marek Černocký \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject verze %s od Jeffa Trantera (tranter@pobox.com), český překlad Marv\n" -"Použití:\n" -" eject -h\t\t\t\t-- zobrazí tuto nápovědu a skončí\n" -" eject -V\t\t\t\t-- zobrazí verzi programu a skončí\n" -" eject [-vnrsfq] []\t\t-- vysune zařízení\n" -" eject [-vn] -d\t\t\t-- zobrazí výchozí zařízení\n" -" eject [-vn] -a on|off|1|0 []\t-- zapne (on)/vypne (off) automatické " -"vysouvání\n" -" eject [-vn] -c []\t-- vymění disk v CD-ROM měniči\n" -" eject [-vn] -t []\t\t-- zavře dvířka\n" -" eject [-vn] -x []\t-- nastaví rychlost CD-ROM\n" -"Volby:\n" -" -v\t-- povolí výpis komentářů\n" -" -n\t-- nevysouvat, jen ukázat, jestli zařízení existuje\n" -" -r\t-- vysunout CD-ROM\n" -" -s\t-- vysunout SCSI zařízení\n" -" -f\t-- vysunout disketu\n" -" -q\t-- vysunout pásku\n" -" -p\t-- použít /proc/mounts místo /etc/mtab\n" -" -m\t-- neodpojovat zařízení ikdyž je připojeno\n" - -#: ../eject.c:187 -#, fuzzy, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Dlouhé volby:\n" -" -h --help -v --verbose\t -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi\t -f --floppy\n" -" -q --tape -n --noop\t -V --version\n" -" -p --proc -m --no-unmount\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Parametr může být soubor zařízení nebo přípojný bod.\n" -"Pokud jej vynecháte, jako výchozí se zvolí \"%s\".\n" -"Jako výchozí se zkouší -r, -s, -f, a -q v tomto pořadí, dokud se nezadaří.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: neplatný argument pro volbu --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: neplatný argument pro volbu --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: neplatný argument pro volbu --cdspeed/-x\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: neplatný argument pro volbu --auto/-a\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "" -"eject verze %s od Jeffa Trantera (tranter@pobox.com), český překlad Marv\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: příliš mnoho argumentů\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: nelze přidělit paměť\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: příkaz pro automatické vysunutí CD-ROM selhal: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: příkaz pro volbu disku CD-ROM selhal: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: příkaz pro načtení CD-ROM ze zásobníku měniče selhal: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: toto jádro nepodporuje IDE/ATAPI CD-ROM měnič\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: příkaz pro zavření dvířek CD-ROM selhal: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: toto jádro nepodporuje příkaz pro zavření dvířek CD-ROM\n" - -#: ../eject.c:637 -#, fuzzy, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: toto jádro nepodporuje příkaz pro zavření dvířek CD-ROM\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: příkaz pro volbu rychlosti CD-ROM selhal: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: toto jádro nepodporuje příkaz pro volbu rychlosti CD-ROM\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: \"%s\" je odkaz na \"%s\"\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:930 -#, fuzzy, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: nelze spustit /bin/umount pro \"%s\": %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: nelze rozvětvit proces: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: odopojení \"%s\" neskončilo normálně\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: odpojení \"%s\" selhalo\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: nelze otevřít \"%s\"\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "nelze otevřít %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: nelze otevřít /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: použivá se výchozího zařízení \"%s\"\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: odpojuje se \"%s\"\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: \"%s\" je zařízení s více oddíly\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: \"%s\" není zařízení s více oddíly\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: nastavuje se rychlost CD-ROM na auto\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: nastavuje se rychlost CD-ROM na %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: výchozí zařízení: \"%s\"\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: použivá se výchozího zařízení \"%s\"\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: název zařízení je \"%s\"\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: nelze nalézt nebo otevřít zařízení pro: \"%s\"\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: rozšířený název je \"%s\"\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: překročena maximální hloubka symbolického odkazu: \"%s\"\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: \"%s\" je připojený v \"%s\"\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: \"%s\" není připojený\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: \"%s\" může být připojený v \"%s\"\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: \"%s\" není přípojný bod\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: zařízení je \"%s\"\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: ukončuje se na základě volby -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: povoluje režim automatického vysunutí pro \"%s\"\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: zakazuje se režim automatického vysunutí pro \"%s\"\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: zavírají se dvířka\n" - -#: ../eject.c:1460 -#, fuzzy, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: nastavuje se rychlost CD-ROM na %dX\n" - -#: ../eject.c:1472 -#, fuzzy, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: odpojuje se \"%s\"\n" - -#: ../eject.c:1485 -#, fuzzy, c-format -msgid "%s: toggling tray\n" -msgstr "%s: zavírají se dvířka\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: volí se CD-ROM disk #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu pro vysunutí CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: příkaz pro vysunutí CD-ROM uspěl\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: příkaz pro vysunutí CD-ROM selhal\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu SCSI pro vysunutí\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: příkaz SCSI pro vysunutí uspěl\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: příkaz SCSI pro vysunutí selhal\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "" -"%s: zkouší se vysunout \"%s\" s použitím příkazu pro vysunutí diskety\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: příkaz pro vysunutí diskety uspěl\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: příkaz pro vysunutí diskety selhal\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: zkouší se vysunout \"%s\" s použitím příkazu pro odpojení pásky\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: příkaz pro odpojení pásky uspěl\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: příkaz pro odpojení pásky selhal\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: není možné vysunout, poslední chyba: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "použití: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "název svazku" diff -Nru eject-2.1.5+deb1+cvs20081104/po/CVS/Entries eject-2.1.5/po/CVS/Entries --- eject-2.1.5+deb1+cvs20081104/po/CVS/Entries 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/CVS/Entries 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1,12 @@ +/.cvsignore/1.2/Thu Aug 25 01:18:41 2005// +/Makefile/1.6/Fri Jun 2 01:40:21 2006// +/cs_CZ.po/1.1/Fri Jun 2 01:40:21 2006// +/de_DE.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/eject.pot/1.1.1.1/Sun Jul 24 23:19:20 2005// +/es_ES.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/fr_FR.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/ja_JP.eucJP.po/1.1.1.1/Sun Jul 24 23:19:20 2005// +/pt_BR.po/1.1/Sun Apr 30 00:44:36 2006// +/tr_TR.po/1.2/Tue Apr 11 01:38:07 2006// +/zh_TW.UTF-8.po/1.1/Sun Sep 4 15:34:50 2005// +D diff -Nru eject-2.1.5+deb1+cvs20081104/po/CVS/Repository eject-2.1.5/po/CVS/Repository --- eject-2.1.5+deb1+cvs20081104/po/CVS/Repository 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/CVS/Repository 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1 @@ +eject/eject/po diff -Nru eject-2.1.5+deb1+cvs20081104/po/CVS/Root eject-2.1.5/po/CVS/Root --- eject-2.1.5+deb1+cvs20081104/po/CVS/Root 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/CVS/Root 2006-06-02 01:41:11.000000000 +0000 @@ -0,0 +1 @@ +:ext:tranter@eject.cvs.sourceforge.net:/cvsroot/eject diff -Nru eject-2.1.5+deb1+cvs20081104/po/.cvsignore eject-2.1.5/po/.cvsignore --- eject-2.1.5+deb1+cvs20081104/po/.cvsignore 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/.cvsignore 2005-08-25 01:18:41.000000000 +0000 @@ -0,0 +1 @@ +*.mo diff -Nru eject-2.1.5+deb1+cvs20081104/po/da.po eject-2.1.5/po/da.po --- eject-2.1.5+deb1+cvs20081104/po/da.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/da.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,478 +0,0 @@ -# Danish translation eject. -# Copyright (C) 2011 eject & nedenstående oversættere. -# This file is distributed under the same license as the eject package. -# Joe Hansen , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-19 22:35+0100\n" -"PO-Revision-Date: 2011-05-14 01:44+0000\n" -"Last-Translator: Joe Hansen \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" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject version %s af Jeff Tranter (tranter@pobox.com)\n" -"Brug:\n" -" eject -h\t\t\t\t-- vis kommandohjælp og afslut\n" -" eject -V\t\t\t\t-- vis programversion og afslut\n" -" eject [-vnrsfqpm] []\t\t-- skub enhed ud\n" -" eject [-vn] -d\t\t\t-- vis standardenhed\n" -" eject [-vn] -a on|off|1|0 []\t-- slå automatisk udskubning til/fra\n" -" eject [-vn] -c []\t-- skift diske på en cd-rom-ændrer\n" -" eject [-vn] -t []\t\t-- luk bakke\n" -" eject [-vn] -T []\t\t-- skift bakke\n" -" eject [-vn] -i on|off|1|0 []\t-- slå manuel udskubningsbeskyttelse " -"til/fra\n" -" eject [-vn] -x []\t-- angiv maksimal hastighed for cd-" -"rom\n" -" eject [-vn] -X []\t\t-- vis tilgængelige hastigheder for cd-rom\n" -"Tilvalg:\n" -" -v\t-- aktiver uddybende uddata\n" -" -n\t-- skub ikke ud, vis bare enhed fundet\n" -" -r\t-- skub cd-rom ud\n" -" -s\t-- skub SCSI-enhed ud\n" -" -f\t-- skub floppy ud\n" -" -q\t-- skub bånd ud\n" -" -p\t-- brug /proc/mounts i stedet for /etc/mtab\n" -" -m\t-- afmonter ikke enhed selv om enheden er monteret\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Lange tilvalg:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"bånd\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Parameteren kan være en enhedsfil eller et monteringspunkt.\n" -"Hvis det udelades, bliver navnet »%s«.\n" -"Som standard forsøges -r, -s, -f og -q for at lykkes.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: Ugyldigt argument for tilvalget --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: Ugyldigt argument for tilvalget --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: Ugyldigt argument for tilvalget --cdspeed/-x\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: Ugyldigt argument for tilvalget -i\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject version %s af Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: For mange argumenter\n" - -#: ../eject.c:436 ../eject.c:1092 ../eject.c:1296 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: Kunne ikke tildele hukommelse\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice kaldt for ofte\n" - -#: ../eject.c:553 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: Kommandoen automatisk udskubning for cd-rom fejlede: %s\n" - -#: ../eject.c:568 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: Kommandoen vælg disk for cd-rom fejlede: %s\n" - -#: ../eject.c:574 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: Kommandoen indlæs fra plads for cd-rom fejlede: %s\n" - -#: ../eject.c:578 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI cd-rom-ændrer er ikke understøttet af denne kerne\n" - -#: ../eject.c:597 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: Kommandoen luk bakken for cd-rom fejlede: %s\n" - -#: ../eject.c:601 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: Kommandoen luk bakken for cd-rom er ikke understøttet af denne kerne\n" - -#: ../eject.c:649 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: Kommandoen skift bakke for cd-rom er ikke understøttet af denne kerne\n" - -#: ../eject.c:716 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: Kommandoen vælg hastighed for cd-rom fejlede: %s\n" - -#: ../eject.c:721 ../eject.c:833 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: Kommandoen vælg hastighed for cd-rom er ikke understøttet af denne " -"kerne\n" - -#: ../eject.c:740 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: Kan ikke læse hastigheden fra /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:755 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: Fejl under allokering af streng\n" - -#: ../eject.c:761 ../eject.c:1398 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: »%s« er en henvising til »%s«\n" - -#: ../eject.c:773 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: Kunne ikke finde cd-rom-navn (fejl opstod)\n" - -#: ../eject.c:786 ../eject.c:794 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: Fejl under læsning af hastighed\n" - -#: ../eject.c:811 -#, c-format -msgid "%s: saving original speed %d\n" -msgstr "%s: Gemmer oprindelig hastighed %d\n" - -#: ../eject.c:827 -#, c-format -msgid "%s: Could not restore original CD-ROM speed (was %d, is now %d)\n" -msgstr "" -"%s: Kunne ikke gendanne oprindelig hastighed for cd-rom (var %d, er nu %d)\n" - -#: ../eject.c:831 -#, c-format -msgid "%s: restored original speed %d\n" -msgstr "%s: Gendannede oprindelig hastighed %d\n" - -#: ../eject.c:953 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: Kunne ikke køre afmontering af »%s«: %s\n" - -#: ../eject.c:958 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: Kunne ikke forgrene: %s\n" - -#: ../eject.c:963 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: Afmontering af »%s« afsluttedes ikke som normalt\n" - -#: ../eject.c:967 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: Afmontering af »%s« fejlede\n" - -#: ../eject.c:992 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: Kan ikke åbne »%s«\n" - -#: ../eject.c:1038 ../eject.c:1193 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "Kan ikke åbne %s: %s\n" - -#: ../eject.c:1081 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: Kan ikke åbne /etc/fstab: %s\n" - -#: ../eject.c:1155 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "%s: %s findes ikke, springer kald over\n" - -#: ../eject.c:1204 ../eject.c:1277 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s er krypteret på reel enhed %s\n" - -#: ../eject.c:1213 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: Afmonterer »%s«\n" - -#: ../eject.c:1303 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: »%s« er en flerpartitionsenhed\n" - -#: ../eject.c:1308 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: »%s« er ikke en flerpartitionsenhed\n" - -#: ../eject.c:1321 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: Angiver cd-rom-hastighed til automatisk\n" - -#: ../eject.c:1323 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: Angiver cd-rom-hastighed til %dX\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: Standardenhed: »%s«\n" - -#: ../eject.c:1369 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: Bruger standardenhed »%s«\n" - -#: ../eject.c:1378 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: Enhedsnavn er »%s«\n" - -#: ../eject.c:1384 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: Kan ikke finde eller åbne enhed for: »%s«\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: Udvidet navn er »%s«\n" - -#: ../eject.c:1409 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: Maksimal dybde på symbolsk henvisning overtrådt: »%s«\n" - -#: ../eject.c:1417 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: »%s« er monteret på »%s«\n" - -#: ../eject.c:1420 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: »%s« er ikke monteret\n" - -#: ../eject.c:1432 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: »%s« kan ikke monteres på »%s«\n" - -#: ../eject.c:1434 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: »%s« er ikke et monteringspunkt\n" - -#: ../eject.c:1441 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: Forsøgte at bruge »%s« som enhedsnavn men det er ikke en blokenhed\n" - -#: ../eject.c:1449 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: Enhed er »%s«\n" - -#: ../eject.c:1451 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: Afslutter på grund af tilvalget -n/--noop\n" - -#: ../eject.c:1466 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: Aktiverer automatisk udskubningstilstand for »%s«\n" - -#: ../eject.c:1468 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: Deaktiverer automatisk udskubningstilstand for »%s«\n" - -#: ../eject.c:1478 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: Lukker bakke\n" - -#: ../eject.c:1488 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: Viser cd-rom-hastighed\n" - -#: ../eject.c:1500 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: Afmonterer enhed »%s« fra »%s«\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: Skifter bakke\n" - -#: ../eject.c:1523 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: Vælger cd-rom-disk #%d\n" - -#: ../eject.c:1541 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "" -"%s: Forsøger at skubbe »%s« ud ved at bruge cd-rom-kommandoen skub ud\n" - -#: ../eject.c:1545 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: Udførte cd-rom-kommandoen skub ud\n" - -#: ../eject.c:1547 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: Cd-rom-kommandoen skub ud fejlede\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: Forsøger at skubbe »%s« ud ved at bruge SCSI-kommandoer\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: Udført SCSI skub ud\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI skub ud fejlede\n" - -#: ../eject.c:1568 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "" -"%s: Forsøger at skubbe »%s« ud ved at bruge kommandoen floppy skub ud\n" - -#: ../eject.c:1572 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: Udførte floppy skub ud\n" - -#: ../eject.c:1574 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: Kommandoen floppy skub ud fejlede\n" - -#: ../eject.c:1582 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "" -"%s: Forsøger at skubbe »%s« ud ved at bruge kommandoen bånd frakoblet (tape " -"offline)\n" - -#: ../eject.c:1586 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: Udførte kommandoen bånd frakoblet (tape offline)\n" - -#: ../eject.c:1588 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: Kommandoen bånd frakoblet (tape offline) fejlede\n" - -#: ../eject.c:1594 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: Kunne ikke skubbe ud, sidste fejl: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "brug: Enhedsnavn []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "enhedsnavn" diff -Nru eject-2.1.5+deb1+cvs20081104/po/de_DE.po eject-2.1.5/po/de_DE.po --- eject-2.1.5+deb1+cvs20081104/po/de_DE.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/de_DE.po 2005-07-24 23:19:20.000000000 +0000 @@ -0,0 +1,374 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Free Software Foundation, Inc. +# Jeff Tranter , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: eject 2.0.13deb-4\n" +"POT-Creation-Date: 2004-05-07 01:11+0200\n" +"PO-Revision-Date: 2004-05-07 01:35+0200\n" +"Last-Translator: nordi \n" +"Language-Team:\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../eject.c:125 +#, c-format +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +msgstr "" +"Eject version %s von Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- gibt die Hilfe aus und beendet das Programm\n" +" eject -V\t\t\t\t-- gibt Versioninformation aus und beendet das Programm\n" +" eject [-vnrsfq] []\t\t-- Laufwerk ffnen\n" +" eject [-vn] -d\t\t\t-- zeige Standardlaufwerk an\n" +" eject [-vn] -a on|off|1|0 []\t-- auto-eject an-/ausschalten\n" +" eject [-vn] -c []\t-- wechselt CD im CD-Wechsler\n" +" eject [-vn] -t []\t\t-- Laufwerk schlieen\n" +" eject [-vn] -x []\t-- maximale CD-ROM Geschwindigkeit " +"setzen\n" +"Options:\n" +" -v\t-- zeige Details an\n" +" -n\t-- Laufwerk nicht ffnen, nur gefundenes Gert anzeigen\n" +" -r\t-- CD-ROM auswerfen\n" +" -s\t-- Disk im SCSI Gert auswerfen\n" +" -f\t-- Floppy auswerfen\n" +" -q\t-- Band auswerfen\n" +" -p\t-- benutze/proc/mounts statt /etc/mtab\n" +" -m\t-- Gert nicht unmounten, selbst wenn es gemounted ist\n" + +#: ../eject.c:148 +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" +msgstr "" +"Lange Optionen:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" + +#: ../eject.c:156 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"Parameter kann eine Gertedatei oder ein Mount Punkt sein.\n" +"Wenn ausgelassen wird `%s' gewhlt.\n" +"Versucht standardmig -r, -s, -f und -q in dieser Reihenfolge bis es funktioniert.\n" + +#: ../eject.c:209 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: ungltiges Argument fr die --auto/-a Option\n" + +#: ../eject.c:221 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: ungltiges Argument fr die --changerslot/-c Option\n" + +#: ../eject.c:233 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: ungltiges Argument fr die --cdspeed/-x Option\n" + +#: ../eject.c:273 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject Version %s von Jeff Tranter (tranter@pobox.com)\n" + +#: ../eject.c:283 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: zu viele Optionen angegeben\n" + +#: ../eject.c:331 +#, c-format +msgid "%s: could not allocate memory\n" +msgstr "%s: Konnte keinen Speicher allozieren\n" + +#: ../eject.c:404 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: CD-ROM auto-eject fehlgeschlagen: %s\n" + +#: ../eject.c:421 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: CD-ROM select disc fehlgeschlagen: %s\n" + +#: ../eject.c:427 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: CD-ROM load from slot fehlgeschlagen: %s\n" + +#: ../eject.c:431 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: IDE/ATAPI CD-ROM Wechsler von diesem Kernel nicht untersttzt\n" + +#: ../eject.c:446 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: CD-ROM Schlieen fehlgeschlagen: %s\n" + +#: ../eject.c:450 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: CD-ROM Schlieen von diesem Kernel nicht untersttzt\n" + +#: ../eject.c:467 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: CD-ROM selecter vitesse pas s'accomplir: %s\n" + +#: ../eject.c:471 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "" +"%s: CD-ROM Geschwindigkeit setzen von diesem Kernel nicht untersttzt\n" + +#: ../eject.c:581 +#, c-format +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: kann /bin/umount fr `%s' nicht ausfhren: %s\n" + +#: ../eject.c:586 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: kann nicht forken: %s\n" + +#: ../eject.c:591 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: Unmounten von `%s' nicht normal beendet\n" + +#: ../eject.c:595 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: Unmounten von `%s' fehlgeschlagen\n" + +#: ../eject.c:608 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: kann `%s' nicht ffnen\n" + +#: ../eject.c:653 ../eject.c:740 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "kann %s nicht ffnen: %s\n" + +#: ../eject.c:700 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: kann /etc/fstab nicht ffnen: %s\n" + +#: ../eject.c:750 ../eject.c:984 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: Unmounte `%s'\n" + +#: ../eject.c:823 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' ist ein Gert mit mehreren Partitionen\n" + +#: ../eject.c:828 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' ist kein Gert mit mehreren Partitionen\n" + +#: ../eject.c:841 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: setze CD-ROM Geschwindigkeit auf auto\n" + +#: ../eject.c:843 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: setze CD-ROM Geschwindigkeit auf %dX\n" + +#: ../eject.c:879 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: Standardgert: `%s'\n" + +#: ../eject.c:887 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: benutze Standardgert `%s'\n" + +#: ../eject.c:896 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: Gertename ist `%s'\n" + +#: ../eject.c:901 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: kann Gert `%s' nicht finden/ffnen\n" + +#: ../eject.c:905 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: erweiterter Name ist `%s'\n" + +#: ../eject.c:910 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s' ist ein Link auf `%s'\n" + +#: ../eject.c:919 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: maximale symbolische Link Tiefe berschritten: `%s'\n" + +#: ../eject.c:927 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: `%s' ist nach `%s' gemountet\n" + +#: ../eject.c:929 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: `%s' ist nicht gemountet\n" + +#: ../eject.c:941 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: `%s' kann nach`%s' gemountet werden\n" + +#: ../eject.c:943 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: `%s' ist kein mount point\n" + +#: ../eject.c:949 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: Gert ist `%s'\n" + +#: ../eject.c:951 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: beende wegen -n/--noop Option\n" + +#: ../eject.c:959 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: aktiviere Auto-Auswurf fr `%s'\n" + +#: ../eject.c:961 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: deaktiviere Auto-Auswurf fr `%s'\n" + +#: ../eject.c:971 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: schliee jetzt\n" + +#: ../eject.c:997 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: whle CD #%d\n" + +#: ../eject.c:1015 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: Versuche `%s' mit dem CD eject Befehl auszuwerfen\n" + +#: ../eject.c:1019 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: CD eject war erfolgreich\n" + +#: ../eject.c:1021 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: CD eject war nicht erfolgreich\n" + +#: ../eject.c:1027 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: versuche `%s' mit SCSI Befehlen auszuwerfen\n" + +#: ../eject.c:1031 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: SCSI eject war erfolgreich\n" + +#: ../eject.c:1033 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: SCSI eject war nicht erfolgreich\n" + +#: ../eject.c:1039 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: versuche `%s' mit Floppy Befehlen auszuwerfen\n" + +#: ../eject.c:1043 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: Floppy eject war erfolgreich\n" + +#: ../eject.c:1045 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: Floppy eject war nicht erfolgreich\n" + +#: ../eject.c:1051 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: versuche `%s' mit dem Band offline Befehl auszuwerfen\n" + +#: ../eject.c:1055 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: Band offline war erfolgreich\n" + +#: ../eject.c:1057 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: Band offline war nicht erfolgreich\n" + +#: ../eject.c:1062 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: Kann nicht auswerfen! Letzter Fehler: %s\n" + +#: ../volname.c:58 +msgid "usage: volname []\n" +msgstr "Benutzung: volname []\n" + +#: ../volname.c:64 ../volname.c:70 ../volname.c:76 +msgid "volname" +msgstr "Volname" diff -Nru eject-2.1.5+deb1+cvs20081104/po/de.po eject-2.1.5/po/de.po --- eject-2.1.5+deb1+cvs20081104/po/de.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/de.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,459 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Free Software Foundation, Inc. -# Jeff Tranter , 2001. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.3-1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2008-07-11 04:58+0200\n" -"Last-Translator: Frank Lichtenheld \n" -"Language-Team:\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-15\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject Version %s von Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- gibt die Hilfe aus und beendet das Programm\n" -" eject -V\t\t\t\t-- gibt Versioninformation aus und beendet das Programm\n" -" eject [-vnrsfqpm] []\t\t-- Laufwerk ffnen\n" -" eject [-vn] -d\t\t\t-- zeige Standardlaufwerk an\n" -" eject [-vn] -a on|off|1|0 []\t-- auto-eject an-/ausschalten\n" -" eject [-vn] -c []\t-- wechselt CD im CD-Wechsler\n" -" eject [-vn] -t []\t\t-- Laufwerk schlieen\n" -" eject [-vn] -T []\t\t-- Laufwerk ffnen oder schlieen\n" -" eject [-vn] -i on|off|1|0 []\t-- Schutz vor manuellem ffnen an-/" -"ausschalten\n" -" eject [-vn] -x []\t-- maximale CD-ROM-Geschwindigkeit " -"setzen\n" -" eject [-vn] -X []\t\t-- verfgbare CD-ROM-Geschwindigkeiten " -"anzeigen\n" -"Optionen:\n" -" -v\t-- zeige Details an\n" -" -n\t-- Laufwerk nicht ffnen, nur gefundenes Gert anzeigen\n" -" -r\t-- CD-ROM auswerfen\n" -" -s\t-- Disk im SCSI-Gert auswerfen\n" -" -f\t-- Floppy auswerfen\n" -" -q\t-- Band auswerfen\n" -" -p\t-- benutze /proc/mounts statt /etc/mtab\n" -" -m\t-- Gert nicht unmounten, selbst wenn es gemounted ist\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Lange Optionen:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Parameter kann eine Gertedatei oder ein Mount-Punkt sein.\n" -"Wenn ausgelassen wird `%s' gewhlt.\n" -"Versucht standardmig -r, -s, -f und -q in dieser Reihenfolge bis es " -"funktioniert.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: ungltiges Argument fr die --auto/-a Option\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: ungltiges Argument fr die --changerslot/-c Option\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: ungltiges Argument fr die --cdspeed/-x Option\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: ungltiges Argument fr die -i Option\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject Version %s von Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: zu viele Optionen angegeben\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: Konnte keinen Speicher allozieren\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice zu oft aufgerufen\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: Automatisches Auswerfen der CD-ROM fehlgeschlagen: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: CD-ROM auswhlen fehlgeschlagen: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: CD-ROM laden fehlgeschlagen: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI CD-ROM-Wechsler von diesem Kernel nicht untersttzt\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: CD-ROM-Laufwerk schlieen fehlgeschlagen: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: CD-ROM-Laufwerk schlieen von diesem Kernel nicht untersttzt\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: Automatisches Schlieen/ffnen des Laufwerks von diesem Kernel nicht " -"untersttzt\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: CD-ROM-Geschwindigkeit setzen fehlgeschlagen: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: CD-ROM-Geschwindigkeit setzen von diesem Kernel nicht untersttzt\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" -"%s: kann die Geschwindigkeit nicht aus /proc/sys/dev/cdrom/info lesen\n" - -#: ../eject.c:742 -#, fuzzy, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: Fehler beim Lesen der Geschwindigkeit\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' ist ein Link auf `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: Fehler beim Suchen des CD-ROM-Namens\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: Fehler beim Lesen der Geschwindigkeit\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: kann umount fr `%s' nicht ausfhren: %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: kann nicht forken: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: Unmounten von `%s' nicht normal beendet\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: Unmounten von `%s' fehlgeschlagen\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: kann `%s' nicht ffnen\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "kann %s nicht ffnen: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: kann /etc/fstab nicht ffnen: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s ist verschlsselt auf echtem Gert %s\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: Unmounte `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' ist ein Gert mit mehreren Partitionen\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' ist kein Gert mit mehreren Partitionen\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: setze CD-ROM-Geschwindigkeit auf auto\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: setze CD-ROM-Geschwindigkeit auf %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: Standardgert: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: benutze Standardgert `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: Gertename ist `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: kann Gert `%s' nicht finden/ffnen\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: erweiterter Name ist `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: maximale Tiefe fr symbolische Links berschritten: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' ist nach `%s' gemountet\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' ist nicht gemountet\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' kann nach`%s' gemountet werden\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' ist kein Mount-Punkt\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: versuchte `%s' als Gertenamen zu benutzen, aber es ist kein " -"blockbasiertes Gert\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: Gert ist `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: beende wegen -n/--noop Option\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: aktiviere Automatisches Auswerfen fr `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: deaktiviere Automatisches Auswerfen fr `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: schliee jetzt\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: CD-ROM-Geschwindigkeiten anzeigen\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: Unmounte Gert `%s' von `%s'\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: ffne/schliee jetzt\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: whle CD #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: Versuche `%s' mit dem CD-eject-Befehl auszuwerfen\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: CD-eject war erfolgreich\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: CD-eject war nicht erfolgreich\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: versuche `%s' mit SCSI-Befehlen auszuwerfen\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI-eject war erfolgreich\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI-eject war nicht erfolgreich\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: versuche `%s' mit Floppy-Befehlen auszuwerfen\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: Floppy-eject war erfolgreich\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: Floppy-eject war nicht erfolgreich\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: versuche `%s' mit dem `Band offline'-Befehl auszuwerfen\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: `Band offline' war erfolgreich\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: `Band offline' war nicht erfolgreich\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: Kann nicht auswerfen! Letzter Fehler: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "Benutzung: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "Volname" diff -Nru eject-2.1.5+deb1+cvs20081104/po/eject.pot eject-2.1.5/po/eject.pot --- eject-2.1.5+deb1+cvs20081104/po/eject.pot 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/eject.pot 2005-07-24 23:19:20.000000000 +0000 @@ -1,39 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-20 00:35+0100\n" +"Project-Id-Version: eject 2.0.13deb-4\n" +"POT-Creation-Date: 2004-05-07 01:11+0200\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-Type: text/plain; charset=us-ascii\n" "Content-Transfer-Encoding: 8bit\n" -#: ../eject.c:156 +#: ../eject.c:125 #, c-format msgid "" "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" "Usage:\n" " eject -h\t\t\t\t-- display command usage and exit\n" " eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" +" eject [-vnrsfq] []\t\t-- eject device\n" " eject [-vn] -d\t\t\t-- display default device\n" " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" " eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" " eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" "Options:\n" " -v\t-- enable verbose output\n" " -n\t-- don't eject, just show device found\n" @@ -45,19 +37,17 @@ " -m\t-- do not unmount device even if it is mounted\n" msgstr "" -#: ../eject.c:188 -#, c-format +#: ../eject.c:148 msgid "" "Long options:\n" -" -h --help -v --verbose -d --default\n" +" -h --help -v --verbose\t -d --default\n" " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" msgstr "" -#: ../eject.c:207 +#: ../eject.c:156 #, c-format msgid "" "Parameter can be a device file or a mount point.\n" @@ -65,376 +55,290 @@ "By default tries -r, -s, -f, and -q in order until success.\n" msgstr "" -#: ../eject.c:263 +#: ../eject.c:209 #, c-format msgid "%s: invalid argument to --auto/-a option\n" msgstr "" -#: ../eject.c:275 +#: ../eject.c:221 #, c-format msgid "%s: invalid argument to --changerslot/-c option\n" msgstr "" -#: ../eject.c:287 +#: ../eject.c:233 #, c-format msgid "%s: invalid argument to --cdspeed/-x option\n" msgstr "" -#: ../eject.c:313 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "" - -#: ../eject.c:348 +#: ../eject.c:273 #, c-format msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" msgstr "" -#: ../eject.c:358 +#: ../eject.c:283 #, c-format msgid "%s: too many arguments\n" msgstr "" -#: ../eject.c:437 ../eject.c:1111 ../eject.c:1314 +#: ../eject.c:331 #, c-format msgid "%s: could not allocate memory\n" msgstr "" -#: ../eject.c:442 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:554 +#: ../eject.c:404 #, c-format msgid "%s: CD-ROM auto-eject command failed: %s\n" msgstr "" -#: ../eject.c:569 +#: ../eject.c:421 #, c-format msgid "%s: CD-ROM select disc command failed: %s\n" msgstr "" -#: ../eject.c:575 +#: ../eject.c:427 #, c-format msgid "%s: CD-ROM load from slot command failed: %s\n" msgstr "" -#: ../eject.c:579 +#: ../eject.c:431 #, c-format msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" msgstr "" -#: ../eject.c:598 +#: ../eject.c:446 #, c-format msgid "%s: CD-ROM tray close command failed: %s\n" msgstr "" -#: ../eject.c:602 +#: ../eject.c:450 #, c-format msgid "%s: CD-ROM tray close command not supported by this kernel\n" msgstr "" -#: ../eject.c:664 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" - -#: ../eject.c:731 +#: ../eject.c:467 #, c-format msgid "%s: CD-ROM select speed command failed: %s\n" msgstr "" -#: ../eject.c:736 ../eject.c:848 +#: ../eject.c:471 #, c-format msgid "%s: CD-ROM select speed command not supported by this kernel\n" msgstr "" -#: ../eject.c:755 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:770 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:776 ../eject.c:1417 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "" - -#: ../eject.c:788 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:801 ../eject.c:809 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:826 +#: ../eject.c:581 #, c-format -msgid "%s: saving original speed %d\n" +msgid "%s: unable to exec /bin/umount of `%s': %s\n" msgstr "" -#: ../eject.c:842 -#, c-format -msgid "%s: Could not restore original CD-ROM speed (was %d, is now %d)\n" -msgstr "" - -#: ../eject.c:846 -#, c-format -msgid "%s: restored original speed %d\n" -msgstr "" - -#: ../eject.c:968 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "" - -#: ../eject.c:973 +#: ../eject.c:586 #, c-format msgid "%s: unable to fork: %s\n" msgstr "" -#: ../eject.c:978 +#: ../eject.c:591 #, c-format msgid "%s: unmount of `%s' did not exit normally\n" msgstr "" -#: ../eject.c:982 +#: ../eject.c:595 #, c-format msgid "%s: unmount of `%s' failed\n" msgstr "" -#: ../eject.c:1007 +#: ../eject.c:608 #, c-format msgid "%s: unable to open `%s'\n" msgstr "" -#: ../eject.c:1053 ../eject.c:1211 +#: ../eject.c:653 ../eject.c:740 #, c-format msgid "unable to open %s: %s\n" msgstr "" -#: ../eject.c:1098 +#: ../eject.c:700 #, c-format msgid "%s: unable to open /etc/fstab: %s\n" msgstr "" -#: ../eject.c:1174 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1224 ../eject.c:1295 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "" - -#: ../eject.c:1232 +#: ../eject.c:750 ../eject.c:984 #, c-format msgid "%s: unmounting `%s'\n" msgstr "" -#: ../eject.c:1322 +#: ../eject.c:823 #, c-format msgid "%s: `%s' is a multipartition device\n" msgstr "" -#: ../eject.c:1327 +#: ../eject.c:828 #, c-format msgid "%s: `%s' is not a multipartition device\n" msgstr "" -#: ../eject.c:1340 +#: ../eject.c:841 #, c-format msgid "%s: setting CD-ROM speed to auto\n" msgstr "" -#: ../eject.c:1342 +#: ../eject.c:843 #, c-format msgid "%s: setting CD-ROM speed to %dX\n" msgstr "" -#: ../eject.c:1380 +#: ../eject.c:879 #, c-format msgid "%s: default device: `%s'\n" msgstr "" -#: ../eject.c:1388 +#: ../eject.c:887 #, c-format msgid "%s: using default device `%s'\n" msgstr "" -#: ../eject.c:1397 +#: ../eject.c:896 #, c-format msgid "%s: device name is `%s'\n" msgstr "" -#: ../eject.c:1403 +#: ../eject.c:901 #, c-format msgid "%s: unable to find or open device for: `%s'\n" msgstr "" -#: ../eject.c:1408 +#: ../eject.c:905 #, c-format msgid "%s: expanded name is `%s'\n" msgstr "" -#: ../eject.c:1428 +#: ../eject.c:910 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "" + +#: ../eject.c:919 #, c-format msgid "%s: maximum symbolic link depth exceeded: `%s'\n" msgstr "" -#: ../eject.c:1436 +#: ../eject.c:927 #, c-format msgid "%s: `%s' is mounted at `%s'\n" msgstr "" -#: ../eject.c:1439 +#: ../eject.c:929 #, c-format msgid "%s: `%s' is not mounted\n" msgstr "" -#: ../eject.c:1451 +#: ../eject.c:941 #, c-format msgid "%s: `%s' can be mounted at `%s'\n" msgstr "" -#: ../eject.c:1453 +#: ../eject.c:943 #, c-format msgid "%s: `%s' is not a mount point\n" msgstr "" -#: ../eject.c:1460 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1468 +#: ../eject.c:949 #, c-format msgid "%s: device is `%s'\n" msgstr "" -#: ../eject.c:1470 +#: ../eject.c:951 #, c-format msgid "%s: exiting due to -n/--noop option\n" msgstr "" -#: ../eject.c:1485 +#: ../eject.c:959 #, c-format msgid "%s: enabling auto-eject mode for `%s'\n" msgstr "" -#: ../eject.c:1487 +#: ../eject.c:961 #, c-format msgid "%s: disabling auto-eject mode for `%s'\n" msgstr "" -#: ../eject.c:1497 +#: ../eject.c:971 #, c-format msgid "%s: closing tray\n" msgstr "" -#: ../eject.c:1507 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "" - -#: ../eject.c:1519 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "" - -#: ../eject.c:1534 -#, c-format -msgid "%s: using device name `%s' for ioctls\n" -msgstr "" - -#: ../eject.c:1540 -#, c-format -msgid "%s: toggling tray\n" -msgstr "" - -#: ../eject.c:1550 +#: ../eject.c:997 #, c-format msgid "%s: selecting CD-ROM disc #%d\n" msgstr "" -#: ../eject.c:1568 +#: ../eject.c:1015 #, c-format msgid "%s: trying to eject `%s' using CD-ROM eject command\n" msgstr "" -#: ../eject.c:1572 +#: ../eject.c:1019 #, c-format msgid "%s: CD-ROM eject command succeeded\n" msgstr "" -#: ../eject.c:1574 +#: ../eject.c:1021 #, c-format msgid "%s: CD-ROM eject command failed\n" msgstr "" -#: ../eject.c:1581 +#: ../eject.c:1027 #, c-format msgid "%s: trying to eject `%s' using SCSI commands\n" msgstr "" -#: ../eject.c:1585 +#: ../eject.c:1031 #, c-format msgid "%s: SCSI eject succeeded\n" msgstr "" -#: ../eject.c:1587 +#: ../eject.c:1033 #, c-format msgid "%s: SCSI eject failed\n" msgstr "" -#: ../eject.c:1595 +#: ../eject.c:1039 #, c-format msgid "%s: trying to eject `%s' using floppy eject command\n" msgstr "" -#: ../eject.c:1599 +#: ../eject.c:1043 #, c-format msgid "%s: floppy eject command succeeded\n" msgstr "" -#: ../eject.c:1601 +#: ../eject.c:1045 #, c-format msgid "%s: floppy eject command failed\n" msgstr "" -#: ../eject.c:1609 +#: ../eject.c:1051 #, c-format msgid "%s: trying to eject `%s' using tape offline command\n" msgstr "" -#: ../eject.c:1613 +#: ../eject.c:1055 #, c-format msgid "%s: tape offline command succeeded\n" msgstr "" -#: ../eject.c:1615 +#: ../eject.c:1057 #, c-format msgid "%s: tape offline command failed\n" msgstr "" -#: ../eject.c:1621 +#: ../eject.c:1062 #, c-format msgid "%s: unable to eject, last error: %s\n" msgstr "" -#: ../volname.c:59 -#, c-format +#: ../volname.c:58 msgid "usage: volname []\n" msgstr "" -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 +#: ../volname.c:64 ../volname.c:70 ../volname.c:76 msgid "volname" msgstr "" diff -Nru eject-2.1.5+deb1+cvs20081104/po/es_ES.po eject-2.1.5/po/es_ES.po --- eject-2.1.5+deb1+cvs20081104/po/es_ES.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/es_ES.po 2005-07-24 23:19:20.000000000 +0000 @@ -0,0 +1,250 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2001-06-07 12:23+0800\n" +"PO-Revision-Date: 2005-02-15 18:57GMT\n" +"Last-Translator: Daniel \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: la orden de autoexpulsión del CD-ROM ha fallado: %s\n" + +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: la orden de expulsión del CD-ROM ha fallado\n" + +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: la orden de expulsión ha sido exitosa\n" + +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: la inserción desde la bandeja del CD-ROM ha fallado: %s\n" + +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: la selección del lector de CD-ROM ha fallado: %s\n" + +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: la selección de la velocidad del CD-ROM ha fallado: %s\n" + +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "" +"%s: la orden de selección de velocidad del CD-ROM no esta soportada por" +"éste kernel\n" + +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: la orden de cierre de la bandeja del CD-ROM ha fallado: %s\n" + +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "" +"%s: la orden de cierre de la bandeja del CD-ROM no esta soportada por" +"éste kernel\n" + +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: el cambiador IDE/ATAPI CD-ROM no está soportado por" +"este kernel\n" + +msgid "%s: SCSI eject failed\n" +msgstr "%s: la orden de expulsion SCSI ha fallado\n" + +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: la orden de expusión SCSI ha sido exitosa\n" + +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: `%s' no puede ser montado en `%s'\n" + +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s' es un enlace a `%s'\n" + +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' es un dispositivo con múltiples particiones\n" + +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: `%s' esta montado en `%s'\n" + +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: `%s' no es un punto de montaje\n" + +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' no es un dispositivo con múltiples particiones\n" + +msgid "%s: `%s' is not mounted\n" +msgstr "%s: `%s' no está montado\n" + +msgid "%s: closing tray\n" +msgstr "%s: cerrando la bandeja\n" + +msgid "%s: default device: `%s'\n" +msgstr "%s: dispositivo por defecto: `%s'\n" + +msgid "%s: device is `%s'\n" +msgstr "%s: el dispositivo es `%s'\n" + +msgid "%s: device name is `%s'\n" +msgstr "%s: el nombre del dispositivo es `%s'\n" + +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: desactivando el modo de autoexpulsión para `%s'\n" + +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: activando el modo de autoexpulsión para `%s'\n" + +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: saliendo debido a la opción -n/--noop\n" + +msgid "%s: expanded name is `%s'\n" +msgstr "%s: el nombre extendido es `%s'\n" + +msgid "%s: floppy eject command failed\n" +msgstr "%s: la orden de expulsión del disquete falló\n" + +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: la orden de expulsión del disquete ha sido exitosa\n" + +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: argumento invalido para la opción --auto/-a\n" + +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: argumento invalido para la opción --cdspeed/-x\n" + +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: argumento invalido para la opción --changerslot/-c\n" + +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: profundidad de elace máxima excedida: `%s'\n" + +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: seleccionando disco CD-ROM #%d\n" + +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: estableciendo la velocidad del CD-ROM a %dX\n" + +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: estableciendo la velocidad del CD-ROM en modo automatico\n" + +msgid "%s: tape offline command failed\n" +msgstr "%s: la orden de desconexión de la cinta falló\n" + +msgid "%s: tape offline command succeeded\n" +msgstr "%s: la orden de desconexión de la cinta ha sido exitosa\n" + +msgid "%s: too many arguments\n" +msgstr "%s: demasiados argumentos\n" + +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: intentando expulsar `%s' usando la orden de expulsión CD-ROM\n" + +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: intentando expulsar `%s' usando la orden de expulsion SCSI\n" + +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: intentando expulsar `%s' usando la orden de ejecucion disquete\n" + +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: intentando expulsar `%s' usando la orden de cinta desconectada\n" + +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: incapaz de expulsar, último error: %s\n" + +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: incapaz de ejecutar /bin/unmount of `%s': %s\n" + +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: incapaz de encontrar o abrir el dispositivo para: `%s'\n" + +msgid "%s: unable to fork: %s\n" +msgstr "%s: incapaz de hacer fork: %s\n" + +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: incapaz de abrir /etc/fstab: %s\n" + +msgid "%s: unable to open `%s'\n" +msgstr "%s: incapaz de abrir `%s'\n" + +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: el desmontaje de `%s' no salió normalmente\n" + +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: el desmontaje de `%s' ha fallado\n" + +msgid "%s: unmounting `%s'\n" +msgstr "%s: desmontando `%s'\n" + +msgid "%s: using default device `%s'\n" +msgstr "%s: usando el dispositivo por defecto `%s'\n" + +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +msgstr "" +"Eject versión %s por Jeff Tranter (tranter@pobox.com)\n" +"Uso:\n" +" eject -h\t\t\t\t-- mostrar modo de uso y salir\n" +" eject -V\t\t\t\t-- mostrar versión del programa y salir\n" +" eject [-vnrsfq] []\t\t-- expulsar el dispositivo\n" +" eject [-vn] -d\t\t\t-- mostrar dispositivo por defecto\n" +" eject [-vn] -a on|off|1|0 []\t-- activar o desactivar autoexplusión\n" +" eject [-vn] -c []\t-- cambiar discos en un cambiador de CD-ROM\n" +" eject [-vn] -t []\t\t-- cerrar la bandeja\n" +" eject [-vn] -x []\t-- establecer velocidad máxima del CD-ROM\n" +"Opciones:\n" +" -v\t-- activar salida prolija\n" +" -n\t-- no expulsar, sólo mostrar dispositivo encontrado\n" +" -r\t-- expulsar el CD-ROM\n" +" -s\t-- expulsar el dispositivo SCSI\n" +" -f\t-- expulsar el disquete\n" +" -q\t-- expulsar la cinta\n" +" -p\t-- usar /proc/mounts en vez de /etc/mtab\n" + +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" +msgstr "" +"Opciones largas:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" + +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"El parámetro puede ser un fichero de dispositivo o un punto" +" de montaje.\n" +"Si omitido, el nombre por defecto es`%s'.\n" +"Por defecto prueba -r, -s, -f, et -q en orden hasta tener éxito.\n" + +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject versión %s por Jeff Tranter (tranter@pobox.com)\n" + +msgid "unable to open %s: %s\n" +msgstr "incapaz de abrir %s: %s\n" + +msgid "usage: volname []\n" +msgstr "uso: volname []\n" + +msgid "volname" +msgstr "volname" diff -Nru eject-2.1.5+deb1+cvs20081104/po/es.po eject-2.1.5/po/es.po --- eject-2.1.5+deb1+cvs20081104/po/es.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/es.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,527 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2005-12-11 18:57GMT\n" -"Last-Translator: Daniel Franganillo Corrales \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject versión %s por Jeff Tranter (tranter@pobox.com)\n" -"Uso:\n" -" eject -h\t\t\t\t-- mostrar modo de uso y salir\n" -" eject -V\t\t\t\t-- mostrar versión del programa y salir\n" -" eject [-vnrsfq] []\t\t-- expulsar el dispositivo\n" -" eject [-vn] -d\t\t\t-- mostrar dispositivo por defecto\n" -" eject [-vn] -a on|off|1|0 []\t-- activar o desactivar " -"autoexplusión\n" -" eject [-vn] -c []\t-- cambiar discos en un cambiador de CD-" -"ROM\n" -" eject [-vn] -t []\t\t-- cerrar la bandeja\n" -" eject [-vn] -x []\t-- establecer velocidad máxima del " -"CD-ROM\n" -"Opciones:\n" -" -v\t-- activar salida prolija\n" -" -n\t-- no expulsar, sólo mostrar dispositivo encontrado\n" -" -r\t-- expulsar el CD-ROM\n" -" -s\t-- expulsar el dispositivo SCSI\n" -" -f\t-- expulsar el disquete\n" -" -q\t-- expulsar la cinta\n" -" -p\t-- usar /proc/mounts en vez de /etc/mtab\n" - -#: ../eject.c:187 -#, fuzzy, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Opciones largas:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -q --tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"El parmetro puede ser un fichero de dispositivo o un punto de " -"montaje.\n" -"Si es omitido, el nombre por defecto es`%s'.\n" -"Por defecto prueba -r, -s, -f, y -q en orden hasta tener xito.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: argumento invlido para la opcin --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: argumento invlido para la opcin --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: argumento invlido para la opcin --cdspeed/-x\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: argumento invlido para la opcin --auto/-a\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject versi %s por Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: demasiados argumentos\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: no se pudo reservar memoria\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: la orden de auto-expulsin del CD-ROM ha fallado: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: la seleccin del lector de CD-ROM ha fallado: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: la insercin desde la bandeja del CD-ROM ha fallado: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: el cambiador IDE/ATAPI CD-ROM no est soportado por este ncleo\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: la orden de cierre de la bandeja del CD-ROM ha fallado: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: la orden de cierre de la bandeja del CD-ROM no esta soportada por ste " -"ncleo\n" - -#: ../eject.c:637 -#, fuzzy, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: la orden de cierre de la bandeja del CD-ROM no esta soportada poréste " -"kernel\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: la seleccin de la velocidad del CD-ROM ha fallado: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: la orden de seleccin de velocidad del CD-ROM no est soportada por ste " -"ncleo\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' es un enlace a `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: incapaz de ejecutar umount of `%s': %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: incapaz de hacer un fork: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: el desmontaje de `%s' no termin normalmente\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: el desmontaje de `%s' ha fallado\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: incapaz de abrir `%s'\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "incapaz de abrir %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: incapaz de abrir /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: usando el dispositivo por defecto `%s'\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: desmontando `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' es un dispositivo con mltiples particiones\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' no es un dispositivo con mltiples particiones\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: estableciendo la velocidad del CD-ROM en modo automatico\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: estableciendo la velocidad del CD-ROM a %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: dispositivo por defecto: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: usando el dispositivo por defecto `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: el nombre del dispositivo es `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: incapaz de encontrar o abrir el dispositivo para: `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: el nombre extendido es `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: profundidad de elace mxima excedida: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' esta montado en `%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' no est montado\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' no puede ser montado en `%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' no es un punto de montaje\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: el dispositivo es `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: saliendo debido a la opcin -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: activando el modo de autoexpulsin para `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: desactivando el modo de autoexpulsin para `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: cerrando la bandeja\n" - -#: ../eject.c:1460 -#, fuzzy, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: estableciendo la velocidad del CD-ROM a %dX\n" - -#: ../eject.c:1472 -#, fuzzy, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: desmontando `%s'\n" - -#: ../eject.c:1485 -#, fuzzy, c-format -msgid "%s: toggling tray\n" -msgstr "%s: cerrando la bandeja\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: seleccionando disco CD-ROM #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: intentando expulsar `%s' usando la orden de expulsin de CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: la orden de expulsin ha sido exitosa\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: la orden de expulsin del CD-ROM ha fallado\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: intentando expulsar `%s' usando la orden de expulsion SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: la orden de expusin SCSI ha sido exitosa\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: la orden de expulsin SCSI ha fallado\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: intentando expulsar `%s' usando la orden de ejecucion disquete\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: la orden de expulsin del disquete ha sido exitosa\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: la orden de expulsin del disquete fall\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: intentando expulsar `%s' usando la orden de cinta desconectada\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: la orden de desconexin de la cinta ha sido exitosa\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: la orden de desconexin de la cinta fall\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: incapaz de expulsar, ltimo error: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "uso: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" - -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject versin %s por Jeff Tranter (tranter@pobox.com)\n" -#~ "Uso:\n" -#~ " eject -h\t\t\t\t-- mostrar el uso del comando y terminar\n" -#~ " eject -V\t\t\t\t-- mostrar la versin del programa y terminar\n" -#~ " eject [-vnrsfq] []\t\t-- expulsar dispositivo\n" -#~ " eject [-vn] -d\t\t\t-- mostrar dispositivo por defecto\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- activar o desactivar la " -#~ "capacidad de auto-expulsin\n" -#~ " eject [-vn] -c []\t-- cambiar discos en un intercambiador " -#~ "de CD-ROM\n" -#~ " eject [-vn] -t []\t\t-- cerrar bandeja\n" -#~ " eject [-vn] -x []\t-- poner mxima velocidad de CD-ROM\n" -#~ "Options:\n" -#~ " -v\t-- activar salida prolija\n" -#~ " -n\t-- no expulsar, solo mostrar disposivo encontrado\n" -#~ " -r\t-- expulsar CD-ROM\n" -#~ " -s\t-- expulsar dispositivo SCSI\n" -#~ " -f\t-- expulsar disquete\n" -#~ " -q\t-- expulsar cinta\n" -#~ " -p\t-- usar /proc/mounts en vez de /etc/mtab\n" -#~ " -m\t-- no desmontar dispositivo incluso si est montado\n" - -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Opciones largas:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Opciones largas:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: incapaz de ejecutar /bin/umount de `%s': %s\n" diff -Nru eject-2.1.5+deb1+cvs20081104/po/fr_FR.po eject-2.1.5/po/fr_FR.po --- eject-2.1.5+deb1+cvs20081104/po/fr_FR.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/fr_FR.po 2005-07-24 23:19:20.000000000 +0000 @@ -0,0 +1,367 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001 Free Software Foundation, Inc. +# FIRST AUTHOR Jeff Tranter , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2001-06-07 12:23+0800\n" +"PO-Revision-Date: 2002-01-04 18:57GMT\n" +"Last-Translator: mathic \n" +"Language-Team: Franais\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 0.9.5\n" + +#: ../eject.c:110 ../eject.c:893 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: le priphrique est `%s'\n" + +#: ../eject.c:112 +#, c-format +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +msgstr "" +"Eject version %s par Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- afficher usage de commande et sortir\n" +" eject -V\t\t\t\t-- afficher version de commande et sortir\n" +" eject [-vnrsfq] []\t\t-- jecter le disque \n" +" eject [-vn] -d\t\t\t-- afficher le priphrique par dfaut\n" +" eject [-vn] -a on|off|1|0 []\t-- contrler l'auto-jection\n" +" eject [-vn] -c []\t-- changer disques de CD-ROM changer\n" +" eject [-vn] -t []\t\t-- fermer le plateau\n" +" eject [-vn] -x []\t-- mettre le CD-ROM la vitesse maximum\n" +"Options:\n" +" -v\t-- afficher verbeux\n" +" -n\t-- n'jecte pas, afficher device seulement\n" +" -r\t-- jecter le CD-ROM\n" +" -s\t-- jecter priphrique SCSI\n" +" -f\t-- jecter la disquette\n" +" -q\t-- jecter la cassette (tape)\n" +" -p\t-- utiliser /proc/mounts au lieu de /etc/mtab\n" + +#: ../eject.c:133 +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" +msgstr "" +"Options long:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" + +#: ../eject.c:141 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"Paramtre ce peut-tre un fichier de priphrique ou un point de montage.\n" +"Si omettre, nom defaut de `%s'.\n" +"Par dfaut utiliser -r, -s, -f, et -q en ordre jusqu'au succes.\n" + +#: ../eject.c:193 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: argument invalide pour l'option --auto/-a\n" + +#: ../eject.c:205 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: argument invalide pour l'option --changerslot/-c\n" + +#: ../eject.c:217 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: argument invalide pour l'option --cdspeed/-x\n" + +#: ../eject.c:254 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject version %s par Jeff Tranter (tranter@pobox.com)\n" + +#: ../eject.c:264 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: trop d'options\n" + +#: ../eject.c:366 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: l'auto-ejection du CD-ROM ne peut pas s'accomplir: %s\n" + +#: ../eject.c:383 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: la slection du lecteur de CD-ROM ne peut pas s'accomplir: %s\n" + +#: ../eject.c:389 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: le chargement du CD-ROM ne peut pas s'accomplir: %s\n" + +#: ../eject.c:393 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: le changeur IDE/ATAPI CD-ROM n'est pas support par ce noyau\n" + +#: ../eject.c:408 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: le plateau du CD-ROM ne peut pas se fermer: %s\n" + +#: ../eject.c:412 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: la commande de fermeture du plateau du CD-ROM n'est pas supporte par ce noyau\n" + +#: ../eject.c:429 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: la slection de la vitesse du CD-ROM ne peut pas s'accomplir: %s\n" + +#: ../eject.c:433 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "%s: la commande de slection du CD-ROM n'est pas supporte par ce noyau\n" + +#: ../eject.c:543 +#, c-format +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: incapable de faire exec /bin/umount de `%s': %s\n" + +#: ../eject.c:548 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: incapable to faire fork: %s\n" + +#: ../eject.c:553 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: le dmontage de `%s' n'a pas pu sortir normalement\n" + +#: ../eject.c:557 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: le dmontage de `%s' a chou\n" + +#: ../eject.c:570 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: impossible d'ouvrir le fichier `%s'\n" + +#: ../eject.c:615 ../eject.c:691 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "impossible d'ouvrir le fichier %s: %s\n" + +#: ../eject.c:655 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: impossible d'ouvrir le fichier /etc/fstab: %s\n" + +#: ../eject.c:701 ../eject.c:928 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: dmontage de `%s'\n" + +#: ../eject.c:768 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' est un priphrique plusieurs partitions\n" + +#: ../eject.c:773 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' n'est pas un priphrique partitionn\n" + +#: ../eject.c:786 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: mettre la vitesse du CD-ROM en position automatique\n" + +#: ../eject.c:788 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: mettre la vitesse du CD-ROM %dX\n" + +#: ../eject.c:824 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: priphrique par dfaut: `%s'\n" + +#: ../eject.c:832 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: utiliser le priphrique par dfaut `%s'\n" + +#: ../eject.c:841 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: le nom du priphrique est `%s'\n" + +#: ../eject.c:846 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: impossible de trouver ou d'ouvrir le priphrique pour: `%s'\n" + +#: ../eject.c:850 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: le nom tendu est `%s'\n" + +#: ../eject.c:855 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s' est un lien de `%s'\n" + +#: ../eject.c:864 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: hauteur de lien symbolique maximum dpass: `%s'\n" + +#: ../eject.c:872 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: `%s' est mont `%s'\n" + +#: ../eject.c:874 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: `%s' n'est pas mont\n" + +#: ../eject.c:885 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: `%s' ne peut pas tre montr `%s'\n" + +#: ../eject.c:887 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: `%s' n'est pas un point de montage\n" + +#: ../eject.c:895 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: sorti cause de l'option -n/--noop\n" + +#: ../eject.c:903 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: activation du mode d'auto-jection pour `%s'\n" + +#: ../eject.c:905 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: dsactivation du mode d'auto-jection pour `%s'\n" + +#: ../eject.c:915 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: ferme le plateau\n" + +#: ../eject.c:941 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: selection du disque CD-ROM #%d\n" + +#: ../eject.c:959 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: tentative d'jection `%s' avec la commande d'jection du CD-ROM\n" + +#: ../eject.c:963 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: la commande d'jection du CD-ROM a russi\n" + +#: ../eject.c:965 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: la commande d'jection du CD-ROM n'a pas russi\n" + +#: ../eject.c:971 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: tentative d'jection `%s' avec la commande SCSI\n" + +#: ../eject.c:975 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: la commande d'jection SCSI a russi\n" + +#: ../eject.c:977 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: la commande SCSI d'jection n'a pas russi\n" + +#: ../eject.c:983 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: tentative d'jection `%s' avec la commande de la disquette\n" + +#: ../eject.c:987 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: la commande de la disquette russi\n" + +#: ../eject.c:989 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: la commande de la disquette n'a pas russi\n" + +#: ../eject.c:995 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: la tentative d'jection `%s' avec la commande de la cassette (tape) hors ligne\n" + +#: ../eject.c:999 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: la commande de la cassette (tape) hors ligne a russi\n" + +#: ../eject.c:1001 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: la command de la cassette (tape) hors lignen'a pas russi\n" + +#: ../eject.c:1006 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: incapable d'jecter, dernire erreur: %s\n" + +#: ../volname.c:57 +msgid "usage: volname []\n" +msgstr "usage: volname []\n" + +#: ../volname.c:63 ../volname.c:69 ../volname.c:75 +msgid "volname" +msgstr "volname" + diff -Nru eject-2.1.5+deb1+cvs20081104/po/fr.po eject-2.1.5/po/fr.po --- eject-2.1.5+deb1+cvs20081104/po/fr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/fr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,532 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Free Software Foundation, Inc. -# FIRST AUTHOR Jeff Tranter , 2001. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2002-01-04 18:57GMT\n" -"Last-Translator: mathic \n" -"Language-Team: Franais\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 0.9.5\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject version %s par Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- afficher usage de commande et sortir\n" -" eject -V\t\t\t\t-- afficher version de commande et sortir\n" -" eject [-vnrsfq] []\t\t-- jecter le disque \n" -" eject [-vn] -d\t\t\t-- afficher le priphrique par dfaut\n" -" eject [-vn] -a on|off|1|0 []\t-- contrler l'auto-jection\n" -" eject [-vn] -c []\t-- changer disques de CD-ROM changer\n" -" eject [-vn] -t []\t\t-- fermer le plateau\n" -" eject [-vn] -x []\t-- mettre le CD-ROM la vitesse " -"maximum\n" -"Options:\n" -" -v\t-- afficher verbeux\n" -" -n\t-- n'jecte pas, afficher device seulement\n" -" -r\t-- jecter le CD-ROM\n" -" -s\t-- jecter priphrique SCSI\n" -" -f\t-- jecter la disquette\n" -" -q\t-- jecter la cassette (tape)\n" -" -p\t-- utiliser /proc/mounts au lieu de /etc/mtab\n" - -#: ../eject.c:187 -#, fuzzy, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Options long:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Paramtre ce peut-tre un fichier de priphrique ou un point de " -"montage.\n" -"Si omettre, nom defaut de `%s'.\n" -"Par dfaut utiliser -r, -s, -f, et -q en ordre jusqu'au succes.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: argument invalide pour l'option --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: argument invalide pour l'option --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: argument invalide pour l'option --cdspeed/-x\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: argument invalide pour l'option --auto/-a\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject version %s par Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: trop d'options\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: l'auto-ejection du CD-ROM ne peut pas s'accomplir: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: la slection du lecteur de CD-ROM ne peut pas s'accomplir: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: le chargement du CD-ROM ne peut pas s'accomplir: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: le changeur IDE/ATAPI CD-ROM n'est pas support par ce noyau\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: le plateau du CD-ROM ne peut pas se fermer: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: la commande de fermeture du plateau du CD-ROM n'est pas supporte par ce " -"noyau\n" - -#: ../eject.c:637 -#, fuzzy, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: la commande de fermeture du plateau du CD-ROM n'est pas supporte par ce " -"noyau\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: la slection de la vitesse du CD-ROM ne peut pas s'accomplir: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: la commande de slection du CD-ROM n'est pas supporte par ce noyau\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' est un lien de `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:930 -#, fuzzy, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: incapable de faire exec /bin/umount de `%s': %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: incapable to faire fork: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: le dmontage de `%s' n'a pas pu sortir normalement\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: le dmontage de `%s' a chou\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: impossible d'ouvrir le fichier `%s'\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "impossible d'ouvrir le fichier %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: impossible d'ouvrir le fichier /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: utiliser le priphrique par dfaut `%s'\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: dmontage de `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' est un priphrique plusieurs partitions\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' n'est pas un priphrique partitionn\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: mettre la vitesse du CD-ROM en position automatique\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: mettre la vitesse du CD-ROM %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: priphrique par dfaut: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: utiliser le priphrique par dfaut `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: le nom du priphrique est `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: impossible de trouver ou d'ouvrir le priphrique pour: `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: le nom tendu est `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: hauteur de lien symbolique maximum dpass: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' est mont `%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' n'est pas mont\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' ne peut pas tre montr `%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' n'est pas un point de montage\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: le priphrique est `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: sorti cause de l'option -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: activation du mode d'auto-jection pour `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: dsactivation du mode d'auto-jection pour `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: ferme le plateau\n" - -#: ../eject.c:1460 -#, fuzzy, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: mettre la vitesse du CD-ROM %dX\n" - -#: ../eject.c:1472 -#, fuzzy, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: dmontage de `%s'\n" - -#: ../eject.c:1485 -#, fuzzy, c-format -msgid "%s: toggling tray\n" -msgstr "%s: ferme le plateau\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: selection du disque CD-ROM #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: tentative d'jection `%s' avec la commande d'jection du CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: la commande d'jection du CD-ROM a russi\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: la commande d'jection du CD-ROM n'a pas russi\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: tentative d'jection `%s' avec la commande SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: la commande d'jection SCSI a russi\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: la commande SCSI d'jection n'a pas russi\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: tentative d'jection `%s' avec la commande de la disquette\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: la commande de la disquette russi\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: la commande de la disquette n'a pas russi\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "" -"%s: la tentative d'jection `%s' avec la commande de la cassette (tape) hors " -"ligne\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: la commande de la cassette (tape) hors ligne a russi\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: la command de la cassette (tape) hors lignen'a pas russi\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: incapable d'jecter, dernire erreur: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "usage: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" - -#, fuzzy -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject version %s par Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- afficher usage de commande et sortir\n" -#~ " eject -V\t\t\t\t-- afficher version de commande et sortir\n" -#~ " eject [-vnrsfq] []\t\t-- jecter le disque \n" -#~ " eject [-vn] -d\t\t\t-- afficher le priphrique par dfaut\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- contrler l'auto-jection\n" -#~ " eject [-vn] -c []\t-- changer disques de CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- fermer le plateau\n" -#~ " eject [-vn] -x []\t-- mettre le CD-ROM la vitesse " -#~ "maximum\n" -#~ "Options:\n" -#~ " -v\t-- afficher verbeux\n" -#~ " -n\t-- n'jecte pas, afficher device seulement\n" -#~ " -r\t-- jecter le CD-ROM\n" -#~ " -s\t-- jecter priphrique SCSI\n" -#~ " -f\t-- jecter la disquette\n" -#~ " -q\t-- jecter la cassette (tape)\n" -#~ " -p\t-- utiliser /proc/mounts au lieu de /etc/mtab\n" - -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Options long:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Options long:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc\n" - -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: incapable de faire exec /bin/umount de `%s': %s\n" diff -Nru eject-2.1.5+deb1+cvs20081104/po/it.po eject-2.1.5/po/it.po --- eject-2.1.5+deb1+cvs20081104/po/it.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/it.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,453 +0,0 @@ -# translation of eject_2.1.5-6_eject.po to -# Copyright (C) 2008, 2009 The Free Software Foundation -# This file is distributed under the same license as the eject package. -# -# Alessandro Zito , 2008. -# Milo Casagrande , 2009 -# -msgid "" -msgstr "" -"Project-Id-Version: eject_2.1.5-6_eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2009-06-23 21:51+0200\n" -"Last-Translator: Milo Casagrande \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject versione %s di Jeff Tranter (tranter@pobox.com)\n" -"Uso:\n" -" eject -h\t\t\t\t-- Visualizza questo aiuto ed esce\n" -" eject -V\t\t\t\t-- Visualizza la versione ed esce\n" -" eject [-vnrsfqpm] []\t\t-- Espelle il dispositivo\n" -" eject [-vn] -d\t\t\t-- Visualizza il dispositivo predefinito\n" -" eject [-vn] -a on|off|1|0 []\t-- Attiva/Disattiva l'espulsione automatica\n" -" eject [-vn] -c []\t-- Cambia disco in un caricatore CD\n" -" eject [-vn] -t []\t\t-- Chiude il carrello\n" -" eject [-vn] -T []\t\t-- Apre/Chiude il carrello\n" -" eject [-vn] -i on|off|1|0 []\t-- Attiva/Disattiva la protezione manuale per l'espulsione\n" -" eject [-vn] -x []\t-- Imposta la velocità massima del CD-ROM\n" -" eject [-vn] -X []\t\t-- Elenca le velocità disponibili del CD-ROM\n" -"Opzioni:\n" -" -v\t-- Attiva output prolisso\n" -" -n\t-- Non espelle, mostra solamente il dispositivo trovato\n" -" -r\t-- Espelle il CD-ROM\n" -" -s\t-- Espelle il dispositivo SCSI\n" -" -f\t-- Espelle il floppy\n" -" -q\t-- Espelle il dispositivo a nastro\n" -" -p\t-- Usa /proc/mounts invece di /etc/mtab\n" -" -m\t-- Non smonta il dispositivo anche se è montato\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Opzioni lunghe:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Il parametro può essere dispositivo o un punto di mount.\n" -"Se omesso, il valore predefinito è \"%s\".\n" -"In modo predefinito vengono provati in ordine -r, -s, -f, e -q fino alla riuscita.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: argomento non valido per l'opzione --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: argomento non valido per l'opzione --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: argomento non valido per l'opzione --cdspeed/-x\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: argomento non valido per l'opzione -i\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject versione %s di Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: troppi argomenti\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: impossibile allocare la memoria\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice chiamato troppo spesso\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: auto-espulsione del CD-ROM non riuscita: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: selezione del disco CD-ROM non riuscita: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: caricamento del CD-ROM dallo slot non riuscito: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: caricatore CD IDE/ATAPI non supportato dal kernel in uso\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: chiusura del carrello del CD-ROM non riuscita: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: chiusura del carrello del CD-ROM non supportata dal kernel in uso\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: apertura/chiusura del carrello del CD-ROM non supportata dal kernel in uso\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: selezione della velocità del CD-ROM non riuscita: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: selezione della velocità del CD-ROM non supportata dal kernel in uso\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: impossibile leggere la velocità da /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: errore nell'allocare la stringa\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: \"%s\" è un collegamento che punta a \"%s\"\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: errore durante la ricerca del nome del CD-ROM\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: errore durante la lettura della velocità\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: impossibile smontare \"%s\": %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: impossibile eseguire fork: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: unmount di \"%s\" uscito in modo anomalo\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: unmount di \"%s\" non riuscito\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: impossibile aprire \"%s\"\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "impossibile aprire %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: impossibile aprire /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "%s: %s non esiste, chiamata saltata\n" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s è cifrato sul dispositivo reale %s\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: smontaggio di \"%s\"\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: \"%s\" è un dispositivo multi partizione\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: \"%s\" non è un dispositivo multi partizione\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: impostazione della velocità del CD-ROM ad automatico\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: impostazione della velocità del CD-ROM a %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: dispositivo predefinito: \"%s\"\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: viene utilizzato il dispositivo predefinito \"%s\"\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: il nome del dispositivo è \"%s\"\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: impossibile trovare o aprire il dispositivo \"%s\"\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: il nome esteso è \"%s\"\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: superata la massima profondità dei collegamenti simbolici: \"%s\"\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: \"%s\" è montato su \"%s\"\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: \"%s\" non è montato\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: \"%s\" può essere montato su \"%s\"\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: \"%s\" non è un punto di mount\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "%s: tentativo di usare \"%s\" come nome del dispositivo, ma non è un dispositivo a blocchi\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: il dispositivo è \"%s\"\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: uscita a causa dell'opzione -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: attivazione della modalità di espulsione automatica per \"%s\"\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: disattivazione della modalità di espulsione automatica per \"%s\"\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: chiusura del carrello\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: elenco delle velocità del CD-ROM\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: smontaggio del dispositivo \"%s\" da \"%s\"\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: apertura/chiusura del carrello\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: selezione del disco CD-ROM #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: tentativo di espulsione di \"%s\" utilizzando il comando di espulsione per CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: comando di espulsione CD-ROM riuscito\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: comando di espulsione CD-ROM non riuscito\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: tentativo di espulsione di \"%s\" utilizzando il comando di espulsione SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: comando di espulsione SCSI riuscito\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: comando di espulsione SCSI non riuscito\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: tentativo di espulsione di \"%s\" utilizzando il comando di espulsione per floppy\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: comando di espulsione floppy riuscito\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: comando di espulsione floppy non riuscito\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: tentativo di espulsione di \"%s\" utilizzando il comando di espulsione per dispositivi a nastro\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: comando di espulsione per dispositivi a nastro riuscito\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: comando di espulsione per dispositivi a nastro non riuscito\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: impossibile espellere, ultimo errore: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "uso: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" diff -Nru eject-2.1.5+deb1+cvs20081104/po/ja_JP.eucJP.po eject-2.1.5/po/ja_JP.eucJP.po --- eject-2.1.5+deb1+cvs20081104/po/ja_JP.eucJP.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/ja_JP.eucJP.po 2005-07-24 23:19:20.000000000 +0000 @@ -0,0 +1,366 @@ +# eject Japanese PO File. +# Copyright (C) 2001 Free Software Foundation, Inc. +# TAKEDA Hirofumi , 2001 +# +# +msgid "" +msgstr "" +"Project-Id-Version: eject 2.0.10\n" +"POT-Creation-Date: 2001-08-01 16:29+0900\n" +"PO-Revision-Date: 2001-08-01 16:32+0900\n" +"Last-Translator: TAKEDA Hirofumi \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=euc-jp\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../eject.c:112 +#, c-format +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +msgstr "" +"Eject С %s by Jeff Tranter (tranter@pobox.com)\n" +"Ȥ:\n" +" eject -h\t\t\t\t-- ޥɤλȤɽƽλ\n" +" eject -V\t\t\t\t-- ץΥСɽƽλ\n" +" eject [-vnrsfq] [<̾>]\t\t-- ǥХΥ\n" +" eject [-vn] -d\t\t\t-- ǥեȤΥǥХɽ\n" +" eject [-vn] -a on|off|1|0 [<̾>]\t-- ưȵǽ򥪥/\n" +" eject [-vn] -c <å> [<̾>]\t-- CD-ROM 󥸥Υǥڤؤ\n" +" eject [-vn] -t [<̾>]\t\t-- ȥ졼Ĥ\n" +" eject [-vn] -x <®> [<̾>]\t-- CD-ROM κ®٤\n" +"ץ:\n" +" -v\t-- ܺɽͭˤ\n" +" -n\t-- ȤԤ鷺ĤǥХɽΤߤԤ\n" +" -r\t-- CD-ROM Υ\n" +" -s\t-- SCSI ǥХΥ\n" +" -f\t-- եåԡΥ\n" +" -q\t-- ơפΥ\n" +" -p\t-- /etc/mtab /proc/mounts Ȥ\n" + +#: ../eject.c:133 +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" +msgstr "" +"ܺɽˤ륪ץ:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc\n" + +#: ../eject.c:141 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"ѥ᥿ <̾> ˤϥǥХեޤϥޥȥݥȤǤޤ\n" +"ά줿ΥǥեȤˤ `%s' Ȥޤ\n" +"ǥեȤư -r, -s, -f, -q νޤǼ¹Ԥޤ\n" + +#: ../eject.c:193 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: --auto/-a ץФʰ\n" + +#: ../eject.c:205 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: --changerslot/-c ץФʰ\n" + +#: ../eject.c:217 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: --cdspeed/-x ץФʰ\n" + +#: ../eject.c:254 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject С %s by Jeff Tranter (tranter@pobox.com)\n" + +#: ../eject.c:264 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: ¿ޤ\n" + +#: ../eject.c:366 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: CD-ROM ưȥޥɼ: %s\n" + +#: ../eject.c:383 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: CD-ROM ǥ򥳥ޥɼ: %s\n" + +#: ../eject.c:389 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: åȤ CD-ROM ɥޥɼ: %s\n" + +#: ../eject.c:393 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: IDE/ATAPI CD-ROM 󥸥ϥͥ뤬ݡȤƤޤ\n" + +#: ../eject.c:408 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: CD-ROM ȥ졼ޥɼ: %s\n" + +#: ../eject.c:412 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: CD-ROM ȥ졼ޥɤϥͥ뤬ݡȤƤޤ\n" + +#: ../eject.c:429 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: CD-ROM ®򥳥ޥɼ: %s\n" + +#: ../eject.c:433 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "%s: CD-ROM ®򥳥ޥɤϥͥ뤬ݡȤƤޤ\n" + +#: ../eject.c:543 +#, c-format +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: `%s' ˤĤ /bin/umount ¹ԤǤޤ: %s\n" + +#: ../eject.c:548 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: եǤޤ: %s\n" + +#: ../eject.c:553 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: `%s' ΥޥȤ۾ェλޤ\n" + +#: ../eject.c:557 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: `%s' ΥޥȤ˼\n" + +#: ../eject.c:570 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: `%s' ץǤޤ\n" + +#: ../eject.c:615 ../eject.c:691 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "%s ץǤޤ: %s\n" + +#: ../eject.c:655 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: /etc/fstab ץǤޤ: %s\n" + +#: ../eject.c:701 ../eject.c:928 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: `%s' 򥢥ޥȤƤޤ\n" + +#: ../eject.c:768 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' ϥޥѡƥǥХǤ\n" + +#: ../eject.c:773 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' ϥޥѡƥǥХǤϤޤ\n" + +#: ../eject.c:786 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: CD-ROM ®٤ưꤷƤޤ\n" + +#: ../eject.c:788 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: CD-ROM ®٤ %d®ꤷƤޤ\n" + +#: ../eject.c:824 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: ǥեȤΥǥХ: `%s'\n" + +#: ../eject.c:832 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: `%s' ǥեȤΥǥХˤƤޤ\n" + +#: ../eject.c:841 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: ǥХ̾ `%s' Ǥ\n" + +#: ../eject.c:846 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: ǥХĤʤץǤޤ: `%s'\n" + +#: ../eject.c:850 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: Ÿ̾ `%s' Ǥ\n" + +#: ../eject.c:855 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s' `%s' ؤΥ󥯤Ǥ\n" + +#: ../eject.c:864 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: 祷ܥå󥯿ۤޤ: `%s'\n" + +#: ../eject.c:872 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: `%s' `%s' ˥ޥȤƤޤ\n" + +#: ../eject.c:874 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: `%s' ϥޥȤƤޤ\n" + +#: ../eject.c:885 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: `%s' `%s' ˥ޥȤǤޤ\n" + +#: ../eject.c:887 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: `%s' ϥޥȥݥȤǤϤޤ\n" + +#: ../eject.c:893 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: ǥХ `%s' Ǥ\n" + +#: ../eject.c:895 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: -n/--noop ץˤ꽪λޤ\n" + +#: ../eject.c:903 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: `%s' ϼưȥ⡼ɤͭǤ\n" + +#: ../eject.c:905 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: `%s' ϼưȥ⡼ɤ̵Ǥ\n" + +#: ../eject.c:915 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: ȥ졼ĤƤޤ\n" + +#: ../eject.c:941 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: CD-ROM ǥ #%d \n" + +#: ../eject.c:959 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: CD-ROM ȥޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" + +#: ../eject.c:963 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: CD-ROM ȥޥɤޤ\n" + +#: ../eject.c:965 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: CD-ROM ȥޥɤԤޤ\n" + +#: ../eject.c:971 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: SCSI ޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" + +#: ../eject.c:975 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: SCSI \n" + +#: ../eject.c:977 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: SCSI ȼ\n" + +#: ../eject.c:983 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: եåԡȥޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" + +#: ../eject.c:987 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: եåԡȥޥ\n" + +#: ../eject.c:989 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: եåԡȥޥɼ\n" + +#: ../eject.c:995 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: ơץե饤󥳥ޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" + +#: ../eject.c:999 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: ơץե饤󥳥ޥ\n" + +#: ../eject.c:1001 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: ơץե饤󥳥ޥɼ\n" + +#: ../eject.c:1006 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: ȤǤޤ, ľΥ顼: %s\n" + +#: ../volname.c:57 +msgid "usage: volname []\n" +msgstr "Ȥ: ܥ塼̾ [<ǥХե>]\n" + +#: ../ "" +msgid "volname" +msgstr "ܥ塼̾" diff -Nru eject-2.1.5+deb1+cvs20081104/po/ja.po eject-2.1.5/po/ja.po --- eject-2.1.5+deb1+cvs20081104/po/ja.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/ja.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,528 +0,0 @@ -# eject Japanese PO File. -# Copyright (C) 2001 Free Software Foundation, Inc. -# TAKEDA Hirofumi , 2001 -# -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.0.10\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2001-08-01 16:32+0900\n" -"Last-Translator: TAKEDA Hirofumi \n" -"Language-Team: Japanese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=euc-jp\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject С %s by Jeff Tranter (tranter@pobox.com)\n" -"Ȥ:\n" -" eject -h\t\t\t\t-- ޥɤλȤɽƽλ\n" -" eject -V\t\t\t\t-- ץΥСɽƽλ\n" -" eject [-vnrsfq] [<̾>]\t\t-- ǥХΥ\n" -" eject [-vn] -d\t\t\t-- ǥեȤΥǥХɽ\n" -" eject [-vn] -a on|off|1|0 [<̾>]\t-- ưȵǽ򥪥/\n" -" eject [-vn] -c <å> [<̾>]\t-- CD-ROM 󥸥Υǥڤ" -"\n" -" eject [-vn] -t [<̾>]\t\t-- ȥ졼Ĥ\n" -" eject [-vn] -x <®> [<̾>]\t-- CD-ROM κ®٤\n" -"ץ:\n" -" -v\t-- ܺɽͭˤ\n" -" -n\t-- ȤԤ鷺ĤǥХɽΤߤԤ\n" -" -r\t-- CD-ROM Υ\n" -" -s\t-- SCSI ǥХΥ\n" -" -f\t-- եåԡΥ\n" -" -q\t-- ơפΥ\n" -" -p\t-- /etc/mtab /proc/mounts Ȥ\n" - -#: ../eject.c:187 -#, fuzzy, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"ܺɽˤ륪ץ:\n" -" -h --help -v --verbose\t -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi\t -f --floppy\n" -" -q --tape -n --noop\t -V --version\n" -" -p --proc\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"ѥ᥿ <̾> ˤϥǥХեޤϥޥȥݥȤǤ" -"\n" -"ά줿ΥǥեȤˤ `%s' Ȥޤ\n" -"ǥեȤư -r, -s, -f, -q νޤǼ¹Ԥޤ\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: --auto/-a ץФʰ\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: --changerslot/-c ץФʰ\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: --cdspeed/-x ץФʰ\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: --auto/-a ץФʰ\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject С %s by Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: ¿ޤ\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: CD-ROM ưȥޥɼ: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: CD-ROM ǥ򥳥ޥɼ: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: åȤ CD-ROM ɥޥɼ: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI CD-ROM 󥸥ϥͥ뤬ݡȤƤޤ\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: CD-ROM ȥ졼ޥɼ: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: CD-ROM ȥ졼ޥɤϥͥ뤬ݡȤƤޤ\n" - -#: ../eject.c:637 -#, fuzzy, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: CD-ROM ȥ졼ޥɤϥͥ뤬ݡȤƤޤ\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: CD-ROM ®򥳥ޥɼ: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: CD-ROM ®򥳥ޥɤϥͥ뤬ݡȤƤޤ\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' `%s' ؤΥ󥯤Ǥ\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:930 -#, fuzzy, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: `%s' ˤĤ /bin/umount ¹ԤǤޤ: %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: եǤޤ: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: `%s' ΥޥȤ۾ェλޤ\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: `%s' ΥޥȤ˼\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: `%s' ץǤޤ\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "%s ץǤޤ: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: /etc/fstab ץǤޤ: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: `%s' ǥեȤΥǥХˤƤޤ\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: `%s' 򥢥ޥȤƤޤ\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' ϥޥѡƥǥХǤ\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' ϥޥѡƥǥХǤϤޤ\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: CD-ROM ®٤ưꤷƤޤ\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: CD-ROM ®٤ %d®ꤷƤޤ\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: ǥեȤΥǥХ: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: `%s' ǥեȤΥǥХˤƤޤ\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: ǥХ̾ `%s' Ǥ\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: ǥХĤʤץǤޤ: `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: Ÿ̾ `%s' Ǥ\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: 祷ܥå󥯿ۤޤ: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' `%s' ˥ޥȤƤޤ\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' ϥޥȤƤޤ\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' `%s' ˥ޥȤǤޤ\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' ϥޥȥݥȤǤϤޤ\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: ǥХ `%s' Ǥ\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: -n/--noop ץˤ꽪λޤ\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: `%s' ϼưȥ⡼ɤͭǤ\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: `%s' ϼưȥ⡼ɤ̵Ǥ\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: ȥ졼ĤƤޤ\n" - -#: ../eject.c:1460 -#, fuzzy, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: CD-ROM ®٤ %d®ꤷƤޤ\n" - -#: ../eject.c:1472 -#, fuzzy, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: `%s' 򥢥ޥȤƤޤ\n" - -#: ../eject.c:1485 -#, fuzzy, c-format -msgid "%s: toggling tray\n" -msgstr "%s: ȥ졼ĤƤޤ\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: CD-ROM ǥ #%d \n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "" -"%s: CD-ROM ȥޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: CD-ROM ȥޥɤޤ\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: CD-ROM ȥޥɤԤޤ\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: SCSI ޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI \n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI ȼ\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "" -"%s: եåԡȥޥɤȤä `%s' 򥤥Ȥ褦ȤƤ" -"\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: եåԡȥޥ\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: եåԡȥޥɼ\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "" -"%s: ơץե饤󥳥ޥɤȤä `%s' 򥤥Ȥ褦ȤƤޤ\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: ơץե饤󥳥ޥ\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: ơץե饤󥳥ޥɼ\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: ȤǤޤ, ľΥ顼: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "Ȥ: ܥ塼̾ [<ǥХե>]\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "ܥ塼̾" - -#, fuzzy -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject С %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Ȥ:\n" -#~ " eject -h\t\t\t\t-- ޥɤλȤɽƽλ\n" -#~ " eject -V\t\t\t\t-- ץΥСɽƽλ\n" -#~ " eject [-vnrsfq] [<̾>]\t\t-- ǥХΥ\n" -#~ " eject [-vn] -d\t\t\t-- ǥեȤΥǥХɽ\n" -#~ " eject [-vn] -a on|off|1|0 [<̾>]\t-- ưȵǽ򥪥/\n" -#~ " eject [-vn] -c <å> [<̾>]\t-- CD-ROM 󥸥Υǥڤ" -#~ "ؤ\n" -#~ " eject [-vn] -t [<̾>]\t\t-- ȥ졼Ĥ\n" -#~ " eject [-vn] -x <®> [<̾>]\t-- CD-ROM κ®٤\n" -#~ "ץ:\n" -#~ " -v\t-- ܺɽͭˤ\n" -#~ " -n\t-- ȤԤ鷺ĤǥХɽΤߤԤ\n" -#~ " -r\t-- CD-ROM Υ\n" -#~ " -s\t-- SCSI ǥХΥ\n" -#~ " -f\t-- եåԡΥ\n" -#~ " -q\t-- ơפΥ\n" -#~ " -p\t-- /etc/mtab /proc/mounts Ȥ\n" - -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "ܺɽˤ륪ץ:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "ܺɽˤ륪ץ:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc\n" - -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: `%s' ˤĤ /bin/umount ¹ԤǤޤ: %s\n" diff -Nru eject-2.1.5+deb1+cvs20081104/po/Makefile eject-2.1.5/po/Makefile --- eject-2.1.5+deb1+cvs20081104/po/Makefile 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/Makefile 2006-06-02 01:40:21.000000000 +0000 @@ -3,10 +3,26 @@ INSTALL = install MODIR = $(PREFIX)/share/locale POTFILES = ../*.c ../*.h -POFILES= cs.po de.po es.po fr.po it.po ja.po ru.po sl.po sv.po tr.po zh_TW.po pt.po pt_BR.po +POFILES= de.po es.po fr.po ja.po tr.po zh_TW.po pt_BR.po cs_CZ.po all: +fix-po-files: + mv de_DE.po de.po + mv es_ES.po es.po + mv fr_FR.po fr.po + mv ja_JP.eucJP.po ja.po + mv tr_TR.po tr.po + mv zh_TW.UTF-8.po zh_TW.po + +restitute-po-files: + mv de.po de_DE.po + mv es.po es_ES.po + mv fr.po fr_FR.po + mv ja.po ja_JP.eucJP.po + mv tr.po tr_TR.po + mv zh_TW.po zh_TW.UTF-8.po + mo: files='$(POFILES)'; \ for file in $$files;do \ @@ -15,6 +31,7 @@ done install: + $(MAKE) fix-po-files $(MAKE) mo files='$(POFILES)'; \ for file in $$files;do \ @@ -26,6 +43,7 @@ fi; \ cp $$LOCALENAME.mo $$MOPATH/$(PKGNAME).mo; \ done + $(MAKE) restitute-po-files pot: xgettext --keyword=_ --keyword=N_ $(POTFILES) -o $(PKGNAME).pot diff -Nru eject-2.1.5+deb1+cvs20081104/po/pt_BR.po eject-2.1.5/po/pt_BR.po --- eject-2.1.5+deb1+cvs20081104/po/pt_BR.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/pt_BR.po 2006-04-30 00:44:36.000000000 +0000 @@ -1,39 +1,33 @@ -# Português/Brasil translation of eject. +# Portugus/Brasil translation of eject. # Copyright (C) 2006 Free Software Foundation, Inc. -# Anderson Goulart , 2007. -# Afonso Celso Medina , 2007. -# -# +# Anderson Goulart , 2006. +# +# msgid "" msgstr "" -"Project-Id-Version: eject 2.1.5-6\n" +"Project-Id-Version: eject 2.0.13deb-4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2007-11-07 12:41-0200\n" +"POT-Creation-Date: 2004-05-07 01:11+0200\n" +"PO-Revision-Date: 2006-04-27 12:51-0300\n" "Last-Translator: Anderson Goulart \n" -"Language-Team: Portuguese/Brazil\n" +"Language-Team: Portugus/Brasil\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" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit" -#: ../eject.c:155 -#, fuzzy, c-format +#: ../eject.c:125 +#, c-format msgid "" "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" "Usage:\n" " eject -h\t\t\t\t-- display command usage and exit\n" " eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" +" eject [-vnrsfq] []\t\t-- eject device\n" " eject [-vn] -d\t\t\t-- display default device\n" " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" " eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" " eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" "Options:\n" " -v\t-- enable verbose output\n" " -n\t-- don't eject, just show device found\n" @@ -44,417 +38,339 @@ " -p\t-- use /proc/mounts instead of /etc/mtab\n" " -m\t-- do not unmount device even if it is mounted\n" msgstr "" -"Versão%s por Jeff Tranter (tranter@pobox.com)\n" +"Verso %s por Jeff Tranter (tranter@pobox.com)\n" "Uso:\n" " eject -h\t\t\t\t-- exibe o uso do comando e sai\n" -" eject -V\t\t\t\t-- exibe a versão do programa e sai\n" +" eject -V\t\t\t\t-- exibe a verso do programa e sai\n" " eject [-vnrsfq] []\t\t-- ejeta o dispositivo\n" -" eject [-vn] -d\t\t\t-- exibe o dispositivo padrão\n" -" eject [-vn] -a on|off|1|0 []\t-- habilita[on] ou desabilita[off] o " -"ejetor automático\n" +" eject [-vn] -d\t\t\t-- exibe o dispositivo padro\n" +" eject [-vn] -a on|off|1|0 []\t-- habilita[on] ou desabilita[off] o ejetor automtico\n" " eject [-vn] -c []\t-- troca os discos em uma bandeja de cds\n" " eject [-vn] -t []\t\t-- fecha a bandeja\n" -" eject [-vn] -x []\t-- estabelece a velocidade máxima " -"do eject [-vn] -X []\t\t-- lista as velocidades do CD-ROM " -"disponíveis\n" -"CD-ROM\n" -"Opções:\n" -" -v\t-- habilita a saída detalhada\n" -" -n\t-- não ejeta, somente exibe o dispositivo encontrado\n" +" eject [-vn] -x []\t-- estabelece a velocidade mxima do CD-ROM\n" +"Opes:\n" +" -v\t-- habilita a sada detalhada\n" +" -n\t-- no ejeta, somente exibe o dispositivo encontrado\n" " -r\t-- ejeta CD-ROM\n" " -s\t-- ejeta dispositivo SCSI\n" " -f\t-- ejeta diquete\n" " -q\t-- ejeta fita\n" -" -p\t-- usa /proc/mounts ao invés do /etc/mtab\n" -" -m\t-- não desmonta o dispositivo mesmo que ele esteja montado\n" +" -p\t-- usa /proc/mounts ao invs do /etc/mtab\n" +" -m\t-- no desmonta o dispositivo mesmo que ele esteja montado\n" -#: ../eject.c:187 -#, c-format +#: ../eject.c:148 msgid "" "Long options:\n" -" -h --help -v --verbose -d --default\n" +" -h --help -v --verbose\t -d --default\n" " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" msgstr "" -"Opções longas:\n" -" -h --help -v --verbose -d --default\n" +"Opes longas:\n" +" -h --help -v --verbose\t -d --default\n" " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" -#: ../eject.c:206 +#: ../eject.c:156 #, c-format msgid "" "Parameter can be a device file or a mount point.\n" "If omitted, name defaults to `%s'.\n" "By default tries -r, -s, -f, and -q in order until success.\n" msgstr "" -"Parâmetro pode ser um dispositivo ou um ponto de montagem.\n" -"Se omitido, o nome padrão é `%s'.\n" -"Por padrão tenta -r, -s, -f e -q, nessa ordem, até obter sucesso.\n" +"Parmetro pode ser um dispositivo ou um ponto de montagem.\n" +"Se omitido, o nome padro `%s'.\n" +"Por padro tenta -r, -s, -f e -q, nessa ordem, at obter sucesso.\n" -#: ../eject.c:262 +#: ../eject.c:209 #, c-format msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: argumento inválido para opção --auto/-a\n" +msgstr "%s: argumento invlido para opo --auto/-a\n" -#: ../eject.c:274 +#: ../eject.c:221 #, c-format msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: argumento inválido para opção --changerslot/-c\n" +msgstr "%s: argumento invlido para opo --changerslot/-c\n" -#: ../eject.c:286 +#: ../eject.c:233 #, c-format msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: argumento inválido para a opção --cdspeed/-x\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: argumento inválido para opção --auto/-a\n" +msgstr "%s: argumento invlido para a opo --cdspeed/-x\n" +"" -#: ../eject.c:347 +#: ../eject.c:273 #, c-format msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "versão do eject %s por Jeff Tranter (tranter@pobox.com)\n" +msgstr "verso %s por Jeff Tranter (tranter@pobox.com)\n" -#: ../eject.c:357 +#: ../eject.c:283 #, c-format msgid "%s: too many arguments\n" -msgstr "%s: muitos argumentos\n" +msgstr "%s: muitos parmetros\n" -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 +#: ../eject.c:331 #, c-format msgid "%s: could not allocate memory\n" -msgstr "%s: não pôde alocar memória\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: EncontrarDispositivo chamada com muita freqüência\n" +msgstr "%s: no pde alocar memria\n" -#: ../eject.c:539 +#: ../eject.c:404 #, c-format msgid "%s: CD-ROM auto-eject command failed: %s\n" msgstr "%s: comando auto-ejetor de CD-ROM falhou: %s\n" -#: ../eject.c:556 +#: ../eject.c:421 #, c-format msgid "%s: CD-ROM select disc command failed: %s\n" msgstr "%s: comando seletor de disco do CD-ROM falhou: %s\n" -#: ../eject.c:562 +#: ../eject.c:427 #, c-format msgid "%s: CD-ROM load from slot command failed: %s\n" msgstr "%s: comando carregador de CD-ROM da bandeja falhou: %s\n" -#: ../eject.c:566 +#: ../eject.c:431 #, c-format msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: bandeja do IDE/ATAPI CD-ROM não é suportada por este kernel\n" +msgstr "%s: bandeja do IDE/ATAPI CD-ROM no suportada por este kernel\n" -#: ../eject.c:585 +#: ../eject.c:446 #, c-format msgid "%s: CD-ROM tray close command failed: %s\n" msgstr "%s: comando para fechar a bandeja do CD-ROM falhou: %s\n" -#: ../eject.c:589 +#: ../eject.c:450 #, c-format msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: comando para fechar a bandeja do CD-ROM não é suportada por este kernel\n" +msgstr "%s: comando para fechar a bandeja do CD-ROM no suportada por este kernel\n" -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: comando para abrir/fechar a bandeja do CD-ROM não é suportada por este " -"kernel\n" - -#: ../eject.c:704 +#: ../eject.c:467 #, c-format msgid "%s: CD-ROM select speed command failed: %s\n" msgstr "%s: comando para selecionar velocidade do CD-ROM falhou: %s\n" -#: ../eject.c:709 ../eject.c:810 +#: ../eject.c:471 #, c-format msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: comando para selecionar velocidade do CD-ROM não é suportada por este " -"kernel\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: não foi possível ler a velocidade de /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:742 -#, fuzzy, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: erro enquanto lia a velocidade\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' é um link para `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: erro enquanto encontrava o nome do CD-ROM\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: erro enquanto lia a velocidade\n" +msgstr "%s: comando para selecionar velocidade do CD-ROM no suportada por este kernel\n" -#: ../eject.c:930 +#: ../eject.c:581 #, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: não pôde executar umount de `%s': %s\n" +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: no pde executar /bin/umount de `%s': %s\n" -#: ../eject.c:935 +#: ../eject.c:586 #, c-format msgid "%s: unable to fork: %s\n" -msgstr "%s: não pôde criar a cópia de: %s\n" +msgstr "%s: no pde criar a cpia: %s\n" -#: ../eject.c:940 +#: ../eject.c:591 #, c-format msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: unmount do `%s' não terminou normalmente\n" +msgstr "%s: unmount do `%s' no terminou normalmente\n" -#: ../eject.c:944 +#: ../eject.c:595 #, c-format msgid "%s: unmount of `%s' failed\n" msgstr "%s: unmount do `%s' falhou\n" -#: ../eject.c:964 +#: ../eject.c:608 #, c-format msgid "%s: unable to open `%s'\n" -msgstr "%s: não pôde abrir `%s'\n" +msgstr "%s: no pde abrir `%s'\n" -#: ../eject.c:1010 ../eject.c:1165 +#: ../eject.c:653 ../eject.c:740 #, c-format msgid "unable to open %s: %s\n" -msgstr "não pode abrir %s: %s\n" +msgstr "no pode abrir %s: %s\n" -#: ../eject.c:1053 +#: ../eject.c:700 #, c-format msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: não pode abrir /etc/fstab: %s\n" +msgstr "%s: no pode abrir /etc/fstab: %s\n" -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s está encriptado no dispositivo real %s\n" - -#: ../eject.c:1185 +#: ../eject.c:750 ../eject.c:984 #, c-format msgid "%s: unmounting `%s'\n" msgstr "%s: desmontando `%s'\n" -#: ../eject.c:1275 +#: ../eject.c:823 #, c-format msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' é um dispositivo multi-particionado\n" +msgstr "%s: `%s' um dispositivo multi-particionado\n" -#: ../eject.c:1280 +#: ../eject.c:828 #, c-format msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' não é um dispositivo multi-particionado\n" +msgstr "%s: `%s' no um dispositivo multi-particionado\n" -#: ../eject.c:1293 +#: ../eject.c:841 #, c-format msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: estabelecendo velocidade automática para o CD-ROM\n" +msgstr "%s: estabelecendo velocidade automtica para o CD-ROM\n" -#: ../eject.c:1295 +#: ../eject.c:843 #, c-format msgid "%s: setting CD-ROM speed to %dX\n" msgstr "%s: estabelecendo a velocidade do CD-ROM para %dX\n" -#: ../eject.c:1333 +#: ../eject.c:879 #, c-format msgid "%s: default device: `%s'\n" -msgstr "%s: dispositivo padrão: `%s'\n" +msgstr "%s: dispositivo padro: `%s'\n" -#: ../eject.c:1341 +#: ../eject.c:887 #, c-format msgid "%s: using default device `%s'\n" -msgstr "%s: utilizando dispositivo padrão `%s'\n" +msgstr "%s: utilizando dispositivo padro `%s'\n" -#: ../eject.c:1350 +#: ../eject.c:896 #, c-format msgid "%s: device name is `%s'\n" -msgstr "%s: o nome do dispositivo é `%s'\n" +msgstr "%s: o nome do dispositivo `%s'\n" -#: ../eject.c:1356 +#: ../eject.c:901 #, c-format msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: não pôde encontrar ou abrir o dispositivo para `%s'\n" +msgstr "%s: no pde encontrar ou abrir o dispositivo para `%s'\n" -#: ../eject.c:1361 +#: ../eject.c:905 #, c-format msgid "%s: expanded name is `%s'\n" -msgstr "%s: o nome expandido é `%s'\n" +msgstr "%s: o nome expandido `%s'\n" -#: ../eject.c:1381 +#: ../eject.c:910 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s' um link para `%s'\n" + +#: ../eject.c:919 #, c-format msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: profundidade máxima do link simbólico excedida: `%s'\n" +msgstr "%s: profundidade mxima do link simblico excedida: `%s'\n" -#: ../eject.c:1389 +#: ../eject.c:927 #, c-format msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' está montado em `%s'\n" +msgstr "%s: `%s' est montado em `%s'\n" -#: ../eject.c:1392 +#: ../eject.c:929 #, c-format msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' não está montado\n" +msgstr "%s: `%s' no est montado\n" -#: ../eject.c:1404 +#: ../eject.c:941 #, c-format msgid "%s: `%s' can be mounted at `%s'\n" msgstr "%s: `%s' pode ser montado em `%s'\n" -#: ../eject.c:1406 +#: ../eject.c:943 #, c-format msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' não é um ponto de montagem\n" +msgstr "%s: `%s' no um ponto de montagem\n" -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: tentou utilizar `%s' como nome do dispositivo mas este não é um " -"dispositivo de bloco\n" - -#: ../eject.c:1421 +#: ../eject.c:949 #, c-format msgid "%s: device is `%s'\n" -msgstr "%s: o dispositivo é `%s'\n" +msgstr "%s: o dispositivo `%s'\n" -#: ../eject.c:1423 +#: ../eject.c:951 #, c-format msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: saindo devido a opção -n/--noop\n" +msgstr "%s: saindo devido a opo -n/--noop\n" -#: ../eject.c:1438 +#: ../eject.c:959 #, c-format msgid "%s: enabling auto-eject mode for `%s'\n" msgstr "%s: habilitando o modo auto-ejetor para `%s'\n" -#: ../eject.c:1440 +#: ../eject.c:961 #, c-format msgid "%s: disabling auto-eject mode for `%s'\n" msgstr "%s: desabilitando o modo auto-ejetor para `%s'\n" -#: ../eject.c:1450 +#: ../eject.c:971 #, c-format msgid "%s: closing tray\n" msgstr "%s: fechando a bandeja\n" -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: listando a velocidade do CD-ROM\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: desmontando o dispositivo `%s' do `%s'\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: abrindo/fechando a bandeja\n" - -#: ../eject.c:1495 +#: ../eject.c:997 #, c-format msgid "%s: selecting CD-ROM disc #%d\n" msgstr "%s: selecionando o disco do CD-ROM #%d\n" -#: ../eject.c:1513 +#: ../eject.c:1015 #, c-format msgid "%s: trying to eject `%s' using CD-ROM eject command\n" msgstr "%s: tentando ejetar `%s' utilizando o comando eject do CD-ROM\n" -#: ../eject.c:1517 +#: ../eject.c:1019 #, c-format msgid "%s: CD-ROM eject command succeeded\n" msgstr "%s: Comando eject do CD-ROM foi realizado com sucesso\n" -#: ../eject.c:1519 +#: ../eject.c:1021 #, c-format msgid "%s: CD-ROM eject command failed\n" msgstr "%s: Comando eject do CD-ROM falhou\n" -#: ../eject.c:1526 +#: ../eject.c:1027 #, c-format msgid "%s: trying to eject `%s' using SCSI commands\n" msgstr "%s: tentando ejetar `%s' utilizando comandos SCSI\n" -#: ../eject.c:1530 +#: ../eject.c:1031 #, c-format msgid "%s: SCSI eject succeeded\n" msgstr "%s: SCSI eject foi realizado com sucesso\n" -#: ../eject.c:1532 +#: ../eject.c:1033 #, c-format msgid "%s: SCSI eject failed\n" msgstr "%s: SCSI eject falhou\n" -#: ../eject.c:1540 +#: ../eject.c:1039 #, c-format msgid "%s: trying to eject `%s' using floppy eject command\n" msgstr "%s: tentando ejetar `%s' utilizando o comando eject do disquete\n" -#: ../eject.c:1544 +#: ../eject.c:1043 #, c-format msgid "%s: floppy eject command succeeded\n" msgstr "%s: comando eject do disquete foi realizado com sucesso\n" -#: ../eject.c:1546 +#: ../eject.c:1045 #, c-format msgid "%s: floppy eject command failed\n" msgstr "%s: comando eject do disquete falhou\n" -#: ../eject.c:1554 +#: ../eject.c:1051 #, c-format msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: tentando ejetar `%s' utilizando o comando de desconexão da fita\n" +msgstr "%s: tentando ejetar `%s' utilizando o comando de desconexo da fita\n" -#: ../eject.c:1558 +#: ../eject.c:1055 #, c-format msgid "%s: tape offline command succeeded\n" -msgstr "%s: comando de desconexão da fita foi realizado com sucesso\n" +msgstr "%s: comando de desconexo da fita foi realizado com sucesso\n" -#: ../eject.c:1560 +#: ../eject.c:1057 #, c-format msgid "%s: tape offline command failed\n" -msgstr "%s: comando de desconexão da fita falhou\n" +msgstr "%s: comando de desconexo da fita falhou\n" -#: ../eject.c:1566 +#: ../eject.c:1062 #, c-format msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: não pôde ejetar, último erro: %s\n" +msgstr "%s: no pde ejetar, ltimo erro: %s\n" -#: ../volname.c:59 -#, c-format +#: ../volname.c:58 msgid "usage: volname []\n" msgstr "uso: volname []\n" -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 +#: ../volname.c:64 ../volname.c:70 ../volname.c:76 msgid "volname" msgstr "volname" + diff -Nru eject-2.1.5+deb1+cvs20081104/po/pt.po eject-2.1.5/po/pt.po --- eject-2.1.5+deb1+cvs20081104/po/pt.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/pt.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,465 +0,0 @@ -# Translation of eject messages to Portuguese -# Copyright (C) 2010 the eject's copyright holder -# This file is distributed under the same license as the eject package. -# -# Américo Monteiro , 2010. -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5+deb1+cvs20081104-7\n" -"Report-Msgid-Bugs-To: eject 2.1.5+deb1+cvs20081104-7\n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2010-02-01 01:18+0000\n" -"Last-Translator: Américo Monteiro \n" -"Language-Team: Portuguese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject versão %s de Jeff Tranter (tranter@pobox.com)\n" -"Utilização:\n" -" eject -h\t\t\t\t-- mostra a utilização do comando e termina\n" -" eject -V\t\t\t\t-- mostra versão do programa e termina\n" -" eject [-vnrsfqpm] []\t\t-- ejecta dispositivo\n" -" eject [-vn] -d\t\t\t-- mostra dispositivo predefinido\n" -" eject [-vn] -a on|off|1|0 []\t-- liga e desliga a funcionalidade de " -"auto-ejectar\n" -" eject [-vn] -c []\t-- troca discos num cambiador de CD-ROM\n" -" eject [-vn] -t []\t\t-- fecha a gaveta\n" -" eject [-vn] -T []\t\t-- altera o estado da gaveta\n" -" eject [-vn] -i on|off|1|0 []\t-- liga e desliga a protecção de " -"ejecção manual\n" -" eject [-vn] -x []\t-- define a velocidade máxima do CD-ROM\n" -" eject [-vn] -X []\t\t-- lista velocidades disponíveis do CD-ROM\n" -"Opções:\n" -" -v\t-- activa saída detalhada\n" -" -n\t-- não ejecta, apenas mostra que encontrou o dispositivo\n" -" -r\t-- ejecta o CD-ROM\n" -" -s\t-- ejecta dispositivo SCSI\n" -" -f\t-- ejecta disquete\n" -" -q\t-- ejecta fita magnética\n" -" -p\t-- usa /proc/mounts em vez de /etc/mtab\n" -" -m\t-- não desmonta o dispositivo mesmo que esteja montado\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Opções longas:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"fita magnética\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"O parâmetro pode ser um ficheiro de dispositivo ou ponto de montagem." -"\n" -"Se omitido, o nome aponta por predefinição para `%s'.\n" -"Tenta por predefinição -r, -s, -f, e -q em ordem até que tenha sucesso.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: argumento inválido para a opção --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: argumento inválido para a opção --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: argumento inválido para a opção --cdspeed/-x\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: argumento inválido para a opção -i\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject versão %s de Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: demasiados argumentos\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: incapaz de alocar memória\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice chamado com demasiada frequência\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: comando de auto-ejectar CD-ROM falhou: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: comando de seleccionar disco CD-ROM falhou: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: comando carregar CD-ROM a partir de slot falhou: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: cambiador de CD-ROM IDE/ATAPI não suportado por este kernel\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: comando de fechar gaveta de CD-ROM falhou: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: comando de fechar gaveta de CD-ROM não suportado por este kernel\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: comando de alternar gaveta de CD-ROM não suportado por este kernel\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: comando de seleccionar velocidade de CD-ROM falhou: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: comando de seleccionar velocidade de CD-ROM não suportado por este " -"kernel\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" -"%s: incapaz de ler a velocidade a partir de /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: erro ao alocar string\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' é um link para `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: erro ao procurar nome do CD-ROM\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: erro ao ler velocidade\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: incapaz de executar a desmontagem de `%s': %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: incapaz de bifurcar: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: desmontagem de `%s' não terminou normalmente\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: desmontagem de `%s' falhou\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: incapaz de abrir `%s'\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "incapaz de abrir %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: incapaz de abrir /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "%s: %s não existe, a saltar chamada\n" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s está encriptado no dispositivo real %s\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: a desmontar `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' é um dispositivo de multi-partições\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' não é um dispositivo de multi-partições\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: a definir velocidade de CD-ROM para automático\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: a definir velocidade de CD-ROM para %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: dispositivo predefinido: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: a usar dispositivo predefinido: `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: nome de dispositivo é `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: incapaz de encontrar ou abrir dispositivo para: `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: nome expandido é `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: máxima profundidade de links simbólicos excedida: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' está montado em `%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' não está montado\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' poder ser montado em `%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' não é um ponto de montagem\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: tentou usar `%s' como nome de dispositivo mas não é um dispositivo de " -"bloco\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: dispositivo é `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: a terminar devido a opção n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: a activar modo de auto-ejectar para `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: a desactivar modo de auto-ejectar para `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: a fechar a gaveta\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: a listar a velocidade do CD-ROM\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: a desmontar dispositivo `%s' a partir de `%s'\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: a alternar gaveta\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: a seleccionar disco CD-ROM #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: a tentar ejectar `%s' usando o comando de ejectar CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: comando de ejectar CD-ROM terminou com sucesso\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: comando de ejectar CD-ROM falhou\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: a tentar ejectar `%s' usando o comando de ejectar SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: ejectar SCSI terminou com sucesso\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: ejectar SCSI falhou\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: a tentar ejectar `%s' usando o comando de ejectar disquete\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: comando de ejectar disquete terminou com sucesso\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: comando de ejectar disquete falhou\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "" -"%s: a tentar ejectar `%s' usando o comando de ejectar fita magnética\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: comando de ejectar fita magnética terminou com sucesso\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: comando de ejectar fita magnética falhou\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: incapaz de ejectar, último erro: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "utilização: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" - - diff -Nru eject-2.1.5+deb1+cvs20081104/po/ru.po eject-2.1.5/po/ru.po --- eject-2.1.5+deb1+cvs20081104/po/ru.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/ru.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,457 +0,0 @@ -# Translation of eject.po to Russian -# Copyright (C) 2001, 2006 Free Software Foundation, Inc. -# -# Jeff Tranter , 2001. -# Victor Ananjevsky , 2006. -# Pavel Maryanov , 2006. -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2006-11-18 20:27+0200\n" -"Last-Translator: Pavel Maryanov \n" -"Language-Team: Russian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject версия %s, Jeff Tranter (tranter@pobox.com)\n" -"Использование:\n" -" eject -h\t\t\t\t-- показать справку по использованию и выйти\n" -" eject -V\t\t\t\t-- показать версию программы и выйти\n" -" eject [-vnrsfq] [<имя>]\t\t-- извлечь устройство\n" -" eject [-vn] -d\t\t\t-- показать устройство по умолчанию\n" -" eject [-vn] -a on|off|1|0 [<имя>]\t-- включить/выключить автоизвлечение\n" -" eject [-vn] -c <слот> [<имя>]\t-- сменить диск в CD-чейнджере\n" -" eject [-vn] -t [<имя>]\t\t-- закрыть лоток\n" -" eject [-vn] -T [<имя>]\t\t-- переключить положение лотка\n" -" eject [-vn] -x <скорость> [<имя>]\t-- установить максимальную скорость " -"привода\n" -" eject [-vn] -X [<имя>]\t\t-- вывести список доступных скоростей привода\n" -"Опции:\n" -" -v\t-- подробный вывод данных\n" -" -n\t-- не извлекать, просто показать найденное устройство\n" -" -r\t-- извлечь CD-ROM\n" -" -s\t-- извлечь устройство SCSI\n" -" -f\t-- извлечь дискету\n" -" -q\t-- извлечь ленту\n" -" -p\t-- использовать /proc/mounts вместо /etc/mtab\n" -" -m\t-- не отмонтировать устройство\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Длинные опции:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Параметр <имя> может представлять файл устройства или точку монтирования.\n" -"Если он не указан, будет использоваться `%s'.\n" -"По умолчанию используются опции -r, -s, -f и -q (до первого успешного " -"выполнения).\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: недопустимый аргумент для опции --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: недопустимый аргумент для опции --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: недопустимый аргумент для опции --cdspeed/-x\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: недопустимый аргумент для опции --auto/-a\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject версии %s, Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: слишком много аргументов\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: не удаётся выделить память\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: слишком много вызовов функции FindDevice\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: сбой команды автоизвлечения лотка: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: сбой команды выбора диска: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: сбой команды загрузки диска из слота: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI-чейнджер CD не поддерживается ядром\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: сбой команды закрытия лотка привода: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: закрытие лотка привода не поддерживается ядром\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: закрытие лотка привода не поддерживается ядром\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: сбой команды выбора скорости привода: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: выбор скорости привода не поддерживается ядром\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" -"%s: не удаётся прочитать значение скорости из /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:742 -#, fuzzy, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: сбой чтения значения скорости\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' является ссылкой на `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: не удалось найти имя привода\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: сбой чтения значения скорости\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: не удаётся выполнить umount для `%s': %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: не удаётся создать дочерний процесс: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: некорректное отмонтирование `%s'\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: сбой при отмонтировании `%s'\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: не удаётся открыть`%s'\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "не удаётся открыть%s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: не удаётся открыть /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: используется устройство по умолчанию `%s'\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: отмонтирование `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' является устройством с несколькими разделами\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' не является устройством с несколькими разделами\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: установка автоматического выбора скорости привода\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: установка скорости привода в %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: устройство по умолчанию: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: используется устройство по умолчанию `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: имя устройства - `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: не удаётся найти или открыть устройство для `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: полное имя - `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: превышена максимальная глубина символьных ссылок: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' примонтирован в `%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' не примонтирован\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' может быть примонтирован в `%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' не является точкой монтирования\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: попытка использования `%s' в качестве имени устройства, которое не " -"является блочным устройством\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: устройство - `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: выход из-за опции -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: включается режима автоизвлечения для `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: отключается режим автоизвлечения для `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: лоток закрывается\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: выводится список скоростей привода\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: устройство `%s' отмонтируется от `%s'\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: переключается состояние лотка\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: выбирается диск #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: попытка извлечь `%s' с помощью команды извлечения лотка\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: извлечение лотка прошло успешно\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: сбой при извлечении лотка\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: попытка извлечь `%s' с помощью команд SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: извлечение SCSI прошло успешно\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: сбой при извлечении SCSI\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: попытка извлечь `%s' с помощью команды извлечения дискеты\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: извлечение дискеты прошло успешно\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: сбой при извлечении дискеты\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: попытка извлечь `%s' с помощью команды остановки ленты\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: остановка ленты прошла успешно\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: сбой при остановке ленты\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: не удаётся извлечь, последняя ошибка: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "Использование: метка_тома [<файл_устройства>]\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "метка_тома" diff -Nru eject-2.1.5+deb1+cvs20081104/po/sl.po eject-2.1.5/po/sl.po --- eject-2.1.5+deb1+cvs20081104/po/sl.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/sl.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,456 +0,0 @@ -# Slovenian translation for eject -# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 -# This file is distributed under the same license as the eject package. -# FIRST AUTHOR , 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: eject\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2010-09-28 17:47+0000\n" -"Last-Translator: Andrej Znidarsic \n" -"Language-Team: Slovenian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-16 07:24+0000\n" -"X-Generator: Launchpad (build Unknown)\n" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection " -"on/off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Različica Eject %s, Jeff Tranter (tranter@pobox.com)\n" -"Uporaba:\n" -" eject -h\t\t\t\t-- prikaže uporabo ukazov in konča\n" -" eject -V\t\t\t\t-- prikaže različico programa in konča\n" -" eject [-vnrsfqpm] []\t\t-- izvrže napravo\n" -" eject [-vn] -d\t\t\t-- prikaže privzeto napravo\n" -" eject [-vn] -a on|off|1|0 []\t-- vklopi/izklopi samodejni izmet\n" -" eject [-vn] -c []\t-- preklopi med mediji v menjalcu CD-ROM\n" -" eject [-vn] -t []\t\t-- zapri pladenj\n" -" eject [-vn] -T []\t\t-- preklopi pladenj\n" -" eject [-vn] -i on|off|1|0 []\t-- vklopi/izklopi zaščito pred ročnim " -"izmetom\n" -" eject [-vn] -x []\t-- nastavi najvišjo hitrost CD-ROM max " -"speed\n" -" eject [-vn] -X []\t\t-- Prikaži seznam razpoložljivih hitrosti CD-" -"ROM\n" -"Možnosti:\n" -" -v\t-- omogoči podrobni izpis\n" -" -n\t-- ne izvrzi, samo prikaži najdeno napravo\n" -" -r\t-- izvrzi CD-ROM\n" -" -s\t-- izvrzi napravo SCSI\n" -" -f\t-- izvrzi disketo\n" -" -q\t-- izvrzi kaseto\n" -" -p\t-- uporabi /proc/mounts namesto /etc/mtab\n" -" -m\t-- ne odklopi naprave, četudi je priklopljena\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Razširjene možnosti:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Parameter je lahko datoteka naprave ali priklopna točka.\n" -"Če je izpuščen, se uporabi `%s'.\n" -"Privzeto poskuša -r, -s, -f, in -q, v tem vrstnem redu, do uspeha.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: neveljaven argument za možnost --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: neveljaven argument za možnost --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: neveljaven argument za možnost --cdspeed/-x\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: neveljaven argument za možnost -i\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "različica eject %s, Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: preveč argumentov\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: ni bilo mogoče dodeliti pomnilnika\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice je bil prepogosto poklican\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: ukaz samodejnega izmeta CD-ROM-a je spodletel: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: ukaz izbora medija CD-ROM je spodletel: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: ukaz naloži iz reže CD-ROM je spodletel: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI menjalec CD-ROM-ov ni podprt v temu jedru\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: ukaz zapri pladenj CD-ROM je spodletel: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: ukaz zapri pladenj CD-ROM ni podprt v temu jedru\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: ukaz preklopi pladenj CD-ROM ni podprt v temu jedru\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: ukaz izberi hitrost CD-ROM je spodletel: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: ukaz izberi hitrost CD-ROM ni podprt v temu jedru\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: hitrosti iz /proc/sys/dev/cdrom/info ni bilo mogoče prebrati\n" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: napaka med dodelitvijo niza\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s' je povezava do `%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: napaka med iskanjem imena CD-ROM\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: napaka med branjem hitrosti\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: odklopa `%s' ni bilo mogoče izvesti: %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: ni bilo mogoče razvejiti: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: odklop `%s' se ni končal običajno\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: odklop `%s' je spodletel\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: `%s' ni bilo mogoče odpreti\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "%s ni bilo mogoče odpreti: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: ni bilo mogoče odpreti /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "%s: %s ne obstaja, klic preskočen\n" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s je šifriran na pravi napravi %s\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: odklapljanje `%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: naprava `%s' ima več razdelkov\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' ima le en razdelek\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: nastavljanje hitrosti CD-ROM na samodejno\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: nastavljanje hitrosti CD-ROM na %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: privzeta naprava: `%s\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: uporaba privzete naprave `%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: ime naprave je `%s\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: ni bilo mogoče najti ali odpreti naprave za: `%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: razširjeno ime je `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: najvišja globina simbolnih povezav je bila presežena: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s' je priklopljen na `%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' ni priklopljen\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s' se lahko priklopi na `%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' ni priklopna točka\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" -"%s: poskus uporabe `%s' kot imena naprave, vendar ni blokovna naprava\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: naprava je`%s\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: izhod zaradi možnosti -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: omogočanje samodejnega izmeta za `%s'\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: onemogočanje načina samodejnega izmeta za `%s'\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: zapiranje pladnja\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: izpisovanje seznama hitrosti CD-ROM\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: odklapljanje naprave `%s' iz `%s'\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: preklapljanje pladnja\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: izbiranje medija CD-ROM št. %d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: poskušanje izmeta `%s' z uporabo ukaza izvrzi CD-ROM\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: ukaz izvrzi CD-ROM je uspel\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: ukaz izvrzi CD-ROM je spodletel\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: poskus izmeta `%s' z uporabo ukazov SCSI\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI izmet je uspel\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: izmet SCSI je spodletel\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: poskus izmeta `%s' z uporabo ukaza izvrzi disketo\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: ukaz izvrzi disketo je uspel\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: ukaz izvrzi disketo je spodletel\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: poskus izmeta `%s' z uporabo ukaza nepovezana kaseta\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: ukaz nepovezana kaseta je uspel\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: ukaz nepovezana kaseta je spodletel\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: ni bilo mogoče izvreči, zadnja napaka: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "uporaba: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" diff -Nru eject-2.1.5+deb1+cvs20081104/po/sv.po eject-2.1.5/po/sv.po --- eject-2.1.5+deb1+cvs20081104/po/sv.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/sv.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,534 +0,0 @@ -# Swedish translation of eject. -# Copyright (C) 2005, 2009 Free Software Foundation, Inc. -# Daniel Nylander , 2005, 2009. -# -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2009-02-28 11:32+0100\n" -"Last-Translator: Daniel Nylander \n" -"Language-Team: Swedish \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject version %s av Jeff Tranter (tranter@pobox.com)\n" -"Användning:\n" -" eject -h\t\t\t\t-- visar användning av kommandon och avslutar\n" -" eject -V\t\t\t\t-- visar programversion och avslutar\n" -" eject [-vnrsfqpm] []\t\t-- matar ut enhet\n" -" eject [-vn] -d\t\t\t-- visar standardenhet\n" -" eject [-vn] -a on|off|1|0 []\t-- automatisk utmatning (on/off)\n" -" eject [-vn] -c []\t-- byter skivor för cd-växlare\n" -" eject [-vn] -t []\t\t-- stänger luckan\n" -" eject [-vn] -T []\t\t-- växla lucka (öppna/stäng)\n" -" eject [-vn] -i on|off|1|0 []\t-- växla manuellt utmatningsskydd\n" -" eject [-vn] -x []\t-- sätter maxhastighet för cd-rom\n" -" eject [-vn] -X []\t\t-- listar tillgängliga hastigheter för cd-rom\n" -"Flaggor:\n" -" -v\t-- aktivera informativ utskrivning\n" -" -n\t-- mata inte ut, visa bara om enhet hittades\n" -" -r\t-- mata ut cd-rom\n" -" -s\t-- mata ut SCSI-enhet\n" -" -f\t-- mata ut floppy\n" -" -q\t-- mata ut band\n" -" -p\t-- använd /proc/mounts istället för /etc/mtab\n" -" -m\t-- avmontera inte enhet även om den är monterad\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Flaggor med hela namn:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"Parametern kan vara en enhetsfil eller en monteringspunkt.\n" -"Om utelämnad sätts namnet till \"%s\".\n" -"Som standard provas -r, -s, -f och -q i ordning fram till det lyckas.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: ogiltigt argument till flaggan --auto/-a\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: ogiltigt argument till flaggan --changerslot/-c\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: ogiltigt argument till flaggan --cdspeed/-x\n" - -#: ../eject.c:312 -#, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: ogiltigt argument till flaggan -i\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject version %s av Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: för många argument\n" - -#: ../eject.c:436 -#: ../eject.c:1064 -#: ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: kunde inte allokera minne\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice startad för ofta\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: Cd-rom-kommando för automatisk utmatning misslyckades: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: Cd-rom-kommando för val av skiva misslyckades: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: Cd-rom-kommando för laddning från plats misslyckades: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI cd-rom-växlare stöds inte av denna kärna\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: Cd-rom-kommando för stängning av lucka misslyckades: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: Cd-rom-kommando för stängning av lucka stöds inte av denna kärna\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: Växlingskommando för cd-lucka stöds inte av denna kärna\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: Cd-rom-kommando för val av hastighet misslyckades: %s\n" - -#: ../eject.c:709 -#: ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: Cd-rom-kommando för val av hastighet stöds inte av denna kärna\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: kunde inte läsa av hastigheten från /proc/sys/dev/cdrom/info\n" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: fel vid allokering av sträng\n" - -#: ../eject.c:748 -#: ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: \"%s\" är en länk till \"%s\"\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: fel vid namnsökning av cd-rom\n" - -#: ../eject.c:773 -#: ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: fel vid läsning av hastighet\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: kunde inte starta umount av \"%s\": %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: kunde inte dela process: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: avmontering av \"%s\" avslutades inte normalt\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: avmontering av \"%s\" misslyckades\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: kunde inte öppna \"%s\"\n" - -#: ../eject.c:1010 -#: ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "kunde inte öppna %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: kunde inte öppna /etc/fstab: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "%s: %s finns inte, hoppar över anropet\n" - -#: ../eject.c:1176 -#: ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s är krypterad på riktiga enheten %s\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: avmonterar \"%s\"\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: \"%s\" är en enhet med flera partitioner\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: \"%s\" är inte en enhet med flera partitioner\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: sätter cd-rom-hastighet till auto\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: sätter cd-rom-hastighet till %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: standardenhet: \"%s\"\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: använder standardenheten \"%s\"\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: enhetsnamnet är \"%s\"\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: kunde inte hitta eller öppna enheten för: \"%s\"\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: expanderat namn är \"%s\"\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: maxgräns för längd på symbolisk länk överstigen: \"%s\"\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: \"%s\" är monterad på \"%s\"\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: \"%s\" är inte monterad\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: \"%s\" kan monteras på \"%s\"\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: \"%s\" är inte en monteringspunkt\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "%s: försökte använda \"%s\" som ett enhetsnamn men det är ingen blockenhet\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: enheten är \"%s\"\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: avslutar på grund av flaggan -n/--noop\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: aktiverar auto-utmatningsläge för \"%s\"\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: stänger av auto-utmatningsläge för \"%s\"\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: stänger luckan\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: listar cd-rom-hastighet\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: avmonterar enheten \"%s\" från \"%s\"\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: växling av lucka (öppna/stäng)\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: väljer cd-skiva #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: försöker mata ut \"%s\" med cd-rom-kommando för utmatning\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: Cd-rom-kommando för utmatning lyckades\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: Cd-rom-kommando för utmatning misslyckades\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: försöker att mata ut \"%s\" med SCSI-kommandon\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI-utmatning lyckades\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI-utmatning misslyckades\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: försöker att mata ut \"%s\" med kommandot för utmatning av diskett\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: kommando för utmatning av diskett lyckades\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: kommando för utmatning av diskett misslyckades\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: försöker att mata ut \"%s\" med kommando för att sätta band offline\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: kommando för att sätta band offline lyckades\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: kommando för att sätta band offline misslyckades\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: kunde inte matas ut, senaste felet: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "användning: volname []\n" - -#: ../volname.c:65 -#: ../volname.c:71 -#: ../volname.c:77 -msgid "volname" -msgstr "volname" - -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject version %s av Jeff Tranter (tranter@pobox.com)\n" -#~ "Användning:\n" -#~ " eject -h\t\t\t\t-- visar kommando användning och avslutar\n" -#~ " eject -V\t\t\t\t-- visar programversion och avslutar\n" -#~ " eject [-vnrsfq] []\t\t-- matar ut enhet\n" -#~ " eject [-vn] -d\t\t\t-- visar standardenhet\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- automatisk utmatning (av eller " -#~ "på)\n" -#~ " eject [-vn] -c []\t-- byter skivor på en CD-ROM-växlare\n" -#~ " eject [-vn] -t []\t\t-- stänger luckan\n" -#~ " eject [-vn] -x []\t-- sätter CD-ROM maxhastighet\n" -#~ "Växlar:\n" -#~ " -v\t-- aktivera informativ utskrivning\n" -#~ " -n\t-- mata inte ut, visa bara om enhet hittades\n" -#~ " -r\t-- mata ut CD-ROM\n" -#~ " -s\t-- mata ut SCSI-enhet\n" -#~ " -f\t-- mata ut floppy\n" -#~ " -q\t-- mata ut band\n" -#~ " -p\t-- använd /proc/mounts istället för /etc/mtab\n" -#~ " -m\t-- avmontera inte enhet även om den är monterad\n" -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Växlar med fullt namn:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Växlar med fullt namn:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: kunde inte starta umount av `%s': %s\n" - diff -Nru eject-2.1.5+deb1+cvs20081104/po/tr.po eject-2.1.5/po/tr.po --- eject-2.1.5+deb1+cvs20081104/po/tr.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/tr.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,538 +0,0 @@ -# Eject 2.1.4 . -# Copyright (C) 2005 Free Software Foundation, Inc -# This file is distributed under the same license as the eject package. -# Jeff Tranter , 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.4\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2008-05-22 17:40+0200\n" -"Last-Translator: Mert Dirik \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject sürüm %s Jeff Tranter (tranter@pobox.com)\n" -"Kullanım:\n" -" eject -h\t\t\t\t-- komut kullanımını göster ve çık\n" -" eject -V\t\t\t\t-- program sürümünü göster ve çık\n" -" eject [-vnrsfqpm] []\t\t-- kaynağı çıkar\n" -" eject [-vn] -d\t\t\t-- öntanımlı kaynağı göster\n" -" eject [-vn] -a on|off|1|0 []\t-- otomatik çıkar seçeneğini aç ya da " -"kapat\n" -" eject [-vn] -c []\t-- Bir CD-ROM değiştirici üzerindeki " -"diskleri seç\n" -" eject [-vn] -t []\t\t-- Görev çubuğunu kapat\n" -" eject [-vn] -T []\t\t-- Görev çubuğunu durumunu değiştir\n" -" eject [-vn] -x []\t-- CD-ROM en yüksek hızını ayarla\n" -" eject [-vn] -X []\t\t-- CD-ROM'un hız seçeneklerini listele\n" -"Seçenekler:\n" -" -v\t-- Bilgilendirici çıktıyı göster\n" -" -n\t-- Çıkarma sadece bulunan aygıtı göster\n" -" -r\t-- CD-ROM'u çıkar\n" -" -s\t-- SCSI aygıtı çıkar \n" -" -f\t-- Disketi çıkar\n" -" -q\t-- Teyp kaseti çıkar\n" -" -p\t-- /etc/mtab yerine /proc/mounts kullan\n" -" -m\t-- Aygıtı bağlıysa bile ayırma\n" - -#: ../eject.c:187 -#, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"Uzun Seçenekler:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -" parametresi bir aygıt dosyası ya da bağlantı noktası olabilir.\n" -"Bu parametre boş bırakıldığında öntanımlı olan aygıt `%s' kullanılır.\n" -"Başarılı olana kadar -r, -s, -f ve -q parametreleri denenir.\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: --auto/-a seçeneği için geçersiz argüman.\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: --changerslot/-c seçeneği için geçersiz argüman.\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: --cdspeed/-x seçeneği için geçersiz argüman.\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: --auto/-a seçeneği için geçersiz argüman.\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject sürüm %s Jeff Tranter (tranter@pobox.com)\n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: çok fazla argüman\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: bellek konumlandırılamadı.\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "%s: FindDevice çok fazla kullanıldı\n" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: CD-ROM otomatik çıkar komutu başarısız oldu: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: CD-ROM disk seç komutu başarısız oldu: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: CD-ROM slottan yükle komutu başarısız oldu: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "" -"%s: IDE/ATAPI CD-ROM değiştirici bu çekirdek (kernel) tarafından " -"desteklenmiyor.\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: CD-ROM görev çubuğunu kapat komutu başarısız oldu: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "" -"%s: CD-ROM görev çubuğunu kapat komutu bu çekirdek (kernel) tarafından " -"desteklenmiyor.\n" - -#: ../eject.c:637 -#, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "" -"%s: CD-ROM görev çubuğu durum değiştir komutu bu çekirdek (kernel) " -"tarafından desteklenmiyor.\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: CD-ROM hızı seç komutu başarısız oldu: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "" -"%s: CD-ROM hızu seç komutu bu çekirdek (kernel) tarafından desteklenmiyor.\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "%s: hız, /proc/sys/dev/cdrom/info'dan okunamadı\n" - -#: ../eject.c:742 -#, fuzzy, c-format -msgid "%s: error while allocating string\n" -msgstr "%s: hız okunamadı\n" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: `%s', `%s' aygıtına bağlı\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "%s: CD-ROM ismi bulunamadı\n" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "%s: hız okunamadı\n" - -#: ../eject.c:930 -#, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: `%s' sistemden ayrılamadı: %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: çatallama yapılamadı: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: `%s' ayırma işlemi normal sonuçlanmadı.\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: `%s' ayırma işlemi başarısız oldu.\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: `%s' açılamadı\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "%s açılamadı: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: /etc/fstab açılamadı: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: %s, gerçek bir aygıt olan %s'da şifreli\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: `%s' ayrılıyor\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' çok bölümlü bir aygıt\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' çok bölümlü bir aygıt değil\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: CD-ROM hızı otomatik olarak ayarlanıyor\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: CD-ROM hızı %dX olarak ayarlanıyor\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: öntanımlı aygıt: `%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: `%s' öntanımlı aygıt kullanılıyor\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: aygıt ismi `%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: `%s' aygıtı bulunamadı ya da açılamadı'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: ayrıntılı isim `%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: maksimum sembolik bağlantı derinliği aşıldı: `%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: `%s', `%s' adresine bağlı\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: `%s' aygıtı bağlı değil\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: `%s', `%s' adresine bağlanabilir\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: `%s' bir bağlanma noktası değil\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "%s: aygıt ismi olarak `%s' kullanıldı ancak bu bir blok aygıtı değil\n" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: aygıt `%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: -n/--noop seçeneği sebebiyle çıkılıyor\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: `%s' için otomatik çıkarma modu aktifleştiriliyor\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: `%s' için otomatik çıkarma modu pasifleştiriliyor\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: görev çubuğu kapatılıyor\n" - -#: ../eject.c:1460 -#, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: CD-ROM hızları listeleniyor\n" - -#: ../eject.c:1472 -#, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: `%s' aygıtı `%s' adresinden ayrılıyor\n" - -#: ../eject.c:1485 -#, c-format -msgid "%s: toggling tray\n" -msgstr "%s: görev çubuğu durumu değiştiriliyor\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: CD-ROM diski seçiliyor #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: `%s', CD-ROM eject komutu ile çıkarılıyor\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: CD-ROM eject komutu başarılı oldu\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: CD-ROM eject komutu başarısız oldu\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: `%s', SCSI komutları ile çılarılıyor\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI çıkarma işlemi başarılı oldu\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI çıkarma işlemi başarısız oldu\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: `%s', floppy eject komutu ile çıkarılıyor\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: floppy eject komutu başarılı oldu\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: floppy eject komutu başarısız oldu\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: `%s', tape offline komutu ile çıkarılıyor\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: tape offline komutu başarılı oldu\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: tape offline komutu başarısız oldu\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: çıkarma işlemi başarısız, son hata: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "kullanım: volname []\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "DiskAdı" - -#, fuzzy -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject sürüm %s Jeff Tranter (tranter@pobox.com)\n" -#~ "Kullanım:\n" -#~ " eject -h \t\t\t\t-- komut kullanımını göster ve çık\n" -#~ " eject -V \t\t\t\t-- program sürümünü göster ve çık\n" -#~ " eject [-vnrsfq] []\t\t-- kaynağı çıkar\n" -#~ " eject [-vn] -d\t\t\t-- öntanımlı kaynağı göster\n" -#~ " eject [-vn] -a aç|kapat|1|0 []\t-- otomatik çıkar seçeneğini aç " -#~ "ya da kapat\n" -#~ " eject [-vn] -c []\t-- Bir CD-ROM değiştirici üzerindeki " -#~ "diskleri seç\n" -#~ " eject [-vn] -t []\t\t-- Görev çubuğunu kapat\n" -#~ " eject [-vn] -x []\t-- CD-ROM en yüksek hızını ayarla\n" -#~ "Seçenekler:\n" -#~ " -v\t-- Bilgilendirici çıktıyı göster\n" -#~ " -n\t-- Çıkarma sadece bulunan aygıtı göster\n" -#~ " -r\t-- CD-ROM'u çıkar\n" -#~ " -s\t-- SCSI aygıtı çıkar \n" -#~ " -f\t-- Disketi çıkar\n" -#~ " -q\t-- Teyp kaseti çıkar\n" -#~ " -p\t-- /etc/mtab yerine /proc/mounts kullan\n" -#~ " -m\t-- Aygıt zaten bağlıysa aygıtı ayırma\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Uzun Seçenekler:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "Uzun Seçenekler:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: yapılamadı exec /bin/umount `%s': %s\n" diff -Nru eject-2.1.5+deb1+cvs20081104/po/tr_TR.po eject-2.1.5/po/tr_TR.po --- eject-2.1.5+deb1+cvs20081104/po/tr_TR.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/tr_TR.po 2006-04-11 01:38:07.000000000 +0000 @@ -0,0 +1,425 @@ +# Eject 2.1.4 . +# Copyright (C) 2005 Free Software Foundation, Inc +# This file is distributed under the same license as the eject package. +# Jeff Tranter , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: eject 2.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-04-09 20:13+0300\n" +"PO-Revision-Date: 2005-11-19 24:30+0000\n" +"Last-Translator: Bahadır Kandemir \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: eject.c:156 +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfqpm] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -T []\t\t-- toggle tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +msgstr "" +"Eject sürüm %s Jeff Tranter (tranter@pobox.com)\n" +"Kullanım:\n" +" eject -h\t\t\t\t-- komut kullanımını göster ve çık\n" +" eject -V\t\t\t\t-- program sürümünü göster ve çık\n" +" eject [-vnrsfqpm] []\t\t-- kaynağı çıkar\n" +" eject [-vn] -d\t\t\t-- öntanımlı kaynağı göster\n" +" eject [-vn] -a on|off|1|0 []\t-- otomatik çıkar seçeneğini aç ya da kapat\n" +" eject [-vn] -c []\t-- Bir CD-ROM değiştirici üzerindeki diskleri seç\n" +" eject [-vn] -t []\t\t-- Görev çubuğunu kapat\n" +" eject [-vn] -T []\t\t-- Görev çubuğunu durumunu değiştir\n" +" eject [-vn] -x []\t-- CD-ROM en yüksek hızını ayarla\n" +" eject [-vn] -X []\t\t-- CD-ROM'un hız seçeneklerini listele\n" +"Seçenekler:\n" +" -v\t-- Bilgilendirici çıktıyı göster\n" +" -n\t-- Çıkarma sadece bulunan aygıtı göster\n" +" -r\t-- CD-ROM'u çıkar\n" +" -s\t-- SCSI aygıtı çıkar \n" +" -f\t-- Disketi çıkar\n" +" -q\t-- Teyp kaseti çıkar\n" +" -p\t-- /etc/mtab yerine /proc/mounts kullan\n" +" -m\t-- Aygıtı bağlıysa bile ayırma\n" + +#: eject.c:187 +msgid "" +"Long options:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" +"tape\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle\n" +msgstr "" +"Uzun Seçenekler:\n" +" -h --help -v --verbose -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" +"tape\n" +" -n --noop -V --version\n" +" -p --proc -m --no-unmount -T --traytoggle\n" + +#: eject.c:206 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +" parametresi bir aygıt dosyası ya da bağlantı noktası olabilir.\n" +"Bu parametre boş bırakıldığında öntanımlı olan aygıt `%s' kullanılır.\n" +"Başarılı olana kadar -r, -s, -f ve -q parametreleri denenir.\n" + +#: eject.c:261 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: --auto/-a seçeneği için geçersiz argüman.\n" + +#: eject.c:273 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: --changerslot/-c seçeneği için geçersiz argüman.\n" + +#: eject.c:285 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: --cdspeed/-x seçeneği için geçersiz argüman.\n" + +#: eject.c:331 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject sürüm %s Jeff Tranter (tranter@pobox.com)\n" + +#: eject.c:341 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: çok fazla argüman\n" + +#: eject.c:396 eject.c:1037 +#, c-format +msgid "%s: could not allocate memory\n" +msgstr "%s: bellek konumlandırılamadı.\n" + +#: eject.c:401 +#, c-format +msgid "%s: FindDevice called too often\n" +msgstr "%s: FindDevice çok fazla kullanıldı\n" + +#: eject.c:475 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: CD-ROM otomatik çıkar komutu başarısız oldu: %s\n" + +#: eject.c:492 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: CD-ROM disk seç komutu başarısız oldu: %s\n" + +#: eject.c:498 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: CD-ROM slottan yükle komutu başarısız oldu: %s\n" + +#: eject.c:502 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: IDE/ATAPI CD-ROM değiştirici bu çekirdek (kernel) tarafından desteklenmiyor.\n" + +#: eject.c:521 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: CD-ROM görev çubuğunu kapat komutu başarısız oldu: %s\n" + +#: eject.c:525 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: CD-ROM görev çubuğunu kapat komutu bu çekirdek (kernel) tarafından desteklenmiyor.\n" + +#: eject.c:572 +#, c-format +msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" +msgstr "%s: CD-ROM görev çubuğu durum değiştir komutu bu çekirdek (kernel) tarafından desteklenmiyor.\n" + +#: eject.c:589 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: CD-ROM hızı seç komutu başarısız oldu: %s\n" + +#: eject.c:593 eject.c:674 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "%s: CD-ROM hızu seç komutu bu çekirdek (kernel) tarafından desteklenmiyor.\n" + +#: eject.c:608 +#, c-format +msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" +msgstr "%s: hız, /proc/sys/dev/cdrom/info'dan okunamadı\n" + +#: eject.c:624 +#, c-format +msgid "%s: error while finding CD-ROM name\n" +msgstr "%s: CD-ROM ismi bulunamadı\n" + +#: eject.c:637 eject.c:645 +#, c-format +msgid "%s: error while reading speed\n" +msgstr "%s: hız okunamadı\n" + +#: eject.c:794 +msgid "%s: unable to exec umount of `%s': %s\n" +msgstr "%s: `%s' sistemden ayrılamadı: %s\n" + +#: eject.c:799 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: çatallama yapılamadı: %s\n" + +#: eject.c:804 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: `%s' ayırma işlemi normal sonuçlanmadı.\n" + +#: eject.c:808 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: `%s' ayırma işlemi başarısız oldu.\n" + +#: eject.c:821 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: `%s' açılamadı\n" + +#: eject.c:867 eject.c:954 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "%s açılamadı: %s\n" + +#: eject.c:914 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: /etc/fstab açılamadı: %s\n" + +#: eject.c:964 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: `%s' ayrılıyor\n" + +#: eject.c:1044 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' çok bölümlü bir aygıt\n" + +#: eject.c:1049 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' çok bölümlü bir aygıt değil\n" + +#: eject.c:1062 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: CD-ROM hızı otomatik olarak ayarlanıyor\n" + +#: eject.c:1064 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: CD-ROM hızı %dX olarak ayarlanıyor\n" + +#: eject.c:1102 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: öntanımlı aygıt: `%s'\n" + +#: eject.c:1110 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: `%s' öntanımlı aygıt kullanılıyor\n" + +#: eject.c:1119 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: aygıt ismi `%s'\n" + +#: eject.c:1125 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: `%s' aygıtı bulunamadı ya da açılamadı'\n" + +#: eject.c:1130 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: ayrıntılı isim `%s'\n" + +#: eject.c:1139 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: `%s', `%s' aygıtına bağlı\n" + +#: eject.c:1150 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: maksimum sembolik bağlantı derinliği aşıldı: `%s'\n" + +#: eject.c:1158 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: `%s', `%s' adresine bağlı\n" + +#: eject.c:1161 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: `%s' aygıtı bağlı değil\n" + +#: eject.c:1173 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: `%s', `%s' adresine bağlanabilir\n" + +#: eject.c:1175 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: `%s' bir bağlanma noktası değil\n" + +#: eject.c:1182 +#, c-format +msgid "%s: tried to use `%s' as device name but it is no block device\n" +msgstr "%s: aygıt ismi olarak `%s' kullanıldı ancak bu bir blok aygıtı değil\n" + +#: eject.c:1190 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: aygıt `%s'\n" + +#: eject.c:1192 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: -n/--noop seçeneği sebebiyle çıkılıyor\n" + +#: eject.c:1200 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: `%s' için otomatik çıkarma modu aktifleştiriliyor\n" + +#: eject.c:1202 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: `%s' için otomatik çıkarma modu pasifleştiriliyor\n" + +#: eject.c:1212 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: görev çubuğu kapatılıyor\n" + +#: eject.c:1222 +#, c-format +msgid "%s: toggling tray\n" +msgstr "%s: görev çubuğu durumu değiştiriliyor\n" + +#: eject.c:1232 +#, c-format +msgid "%s: listing CD-ROM speed\n" +msgstr "%s: CD-ROM hızları listeleniyor\n" + +#: eject.c:1244 +#, c-format +msgid "%s: unmounting device `%s' from `%s'\n" +msgstr "%s: `%s' aygıtı `%s' adresinden ayrılıyor\n" + +#: eject.c:1257 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: CD-ROM diski seçiliyor #%d\n" + +#: eject.c:1275 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: `%s', CD-ROM eject komutu ile çıkarılıyor\n" + +#: eject.c:1279 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: CD-ROM eject komutu başarılı oldu\n" + +#: eject.c:1281 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: CD-ROM eject komutu başarısız oldu\n" + +#: eject.c:1288 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: `%s', SCSI komutları ile çılarılıyor\n" + +#: eject.c:1292 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: SCSI çıkarma işlemi başarılı oldu\n" + +#: eject.c:1294 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: SCSI çıkarma işlemi başarısız oldu\n" + +#: eject.c:1302 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: `%s', floppy eject komutu ile çıkarılıyor\n" + +#: eject.c:1306 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: floppy eject komutu başarılı oldu\n" + +#: eject.c:1308 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: floppy eject komutu başarısız oldu\n" + +#: eject.c:1316 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: `%s', tape offline komutu ile çıkarılıyor\n" + +#: eject.c:1320 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: tape offline komutu başarılı oldu\n" + +#: eject.c:1322 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: tape offline komutu başarısız oldu\n" + +#: eject.c:1328 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: çıkarma işlemi başarısız, son hata: %s\n" + +#: volname.c:59 +#, c-format +msgid "usage: volname []\n" +msgstr "kullanım: volname []\n" + +#: volname.c:65 volname.c:71 volname.c:77 +msgid "volname" +msgstr "DiskAdı" + diff -Nru eject-2.1.5+deb1+cvs20081104/po/zh_TW.po eject-2.1.5/po/zh_TW.po --- eject-2.1.5+deb1+cvs20081104/po/zh_TW.po 2014-06-13 11:31:44.000000000 +0000 +++ eject-2.1.5/po/zh_TW.po 1970-01-01 00:00:00.000000000 +0000 @@ -1,526 +0,0 @@ -# Traditional Chinese Messages for eject -# Copyright (C) 2001, 05 Free Software Foundation, Inc. -# Kun-Chung Hsieh , 2001 -# Wei-Lun Chao , 2005 -# -msgid "" -msgstr "" -"Project-Id-Version: eject 2.1.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 23:19+0100\n" -"PO-Revision-Date: 2005-09-22 11:40+0800\n" -"Last-Translator: Wei-Lun Chao \n" -"Language-Team: Chinese (traditional) \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" - -#: ../eject.c:155 -#, fuzzy, c-format -msgid "" -"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -"Usage:\n" -" eject -h\t\t\t\t-- display command usage and exit\n" -" eject -V\t\t\t\t-- display program version and exit\n" -" eject [-vnrsfqpm] []\t\t-- eject device\n" -" eject [-vn] -d\t\t\t-- display default device\n" -" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" -" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -" eject [-vn] -t []\t\t-- close tray\n" -" eject [-vn] -T []\t\t-- toggle tray\n" -" eject [-vn] -i on|off|1|0 []\t-- toggle manual eject protection on/" -"off\n" -" eject [-vn] -x []\t-- set CD-ROM max speed\n" -" eject [-vn] -X []\t\t-- list CD-ROM available speeds\n" -"Options:\n" -" -v\t-- enable verbose output\n" -" -n\t-- don't eject, just show device found\n" -" -r\t-- eject CD-ROM\n" -" -s\t-- eject SCSI device\n" -" -f\t-- eject floppy\n" -" -q\t-- eject tape\n" -" -p\t-- use /proc/mounts instead of /etc/mtab\n" -" -m\t-- do not unmount device even if it is mounted\n" -msgstr "" -"Eject 版本 %s 作者 Jeff Tranter (tranter@pobox.com)\n" -"用法:\n" -" eject -h\t\t\t\t-- 顯示命令用法後結束\n" -" eject -V\t\t\t\t-- 顯示程式版本後結束\n" -" eject [-vnrsfq] [<名稱>]\t\t-- 跳出裝置\n" -" eject [-vn] -d\t\t\t-- 顯示內定裝置名稱\n" -" eject [-vn] -a on|off|1|0 [<名稱>]\t-- 自動跳出功能開關\n" -" eject [-vn] -c <插槽> [<名稱>]\t-- 切換光碟櫃內的光碟片\n" -" eject [-vn] -t [<名稱>]\t\t-- 關閉拖盤\n" -" eject [-vn] -x <速度> [<名稱>]\t-- 設定光碟機最快速度\n" -"選項:\n" -" -v\t-- 顯示詳細狀態\n" -" -n\t-- 不要跳出,只顯示裝置有找到即可\n" -" -r\t-- 跳出 CD-ROM\n" -" -s\t-- 跳出 SCSI 裝置\n" -" -f\t-- 跳出軟碟片\n" -" -q\t-- 跳出磁帶\n" -" -p\t-- 使用 /proc/mounts 來取代 /etc/mtab\n" -" -m\t-- 即使裝置已掛載也不要卸載裝置\n" - -#: ../eject.c:187 -#, fuzzy, c-format -msgid "" -"Long options:\n" -" -h --help -v --verbose -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi -f --floppy -X --listspeed -q --" -"tape\n" -" -n --noop -V --version\n" -" -p --proc -m --no-unmount -T --traytoggle\n" -msgstr "" -"長選項:\n" -" -h --help -v --verbose\t -d --default\n" -" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -" -r --cdrom -s --scsi\t -f --floppy\n" -" -q --tape -n --noop\t -V --version\n" -" -p --proc -m --no-unmount\n" - -#: ../eject.c:206 -#, c-format -msgid "" -"Parameter can be a device file or a mount point.\n" -"If omitted, name defaults to `%s'.\n" -"By default tries -r, -s, -f, and -q in order until success.\n" -msgstr "" -"參數 可以是裝置檔名或者掛載點。\n" -"不加參數時,內定為 `%s'。\n" -"程式預設會依序測試 -r, -s, -f, 和 -q 直到成功。\n" - -#: ../eject.c:262 -#, c-format -msgid "%s: invalid argument to --auto/-a option\n" -msgstr "%s: 對於 --auto/-a 選項而言是無效引數\n" - -#: ../eject.c:274 -#, c-format -msgid "%s: invalid argument to --changerslot/-c option\n" -msgstr "%s: 對於 --changerslot/-c 選項而言是無效引數\n" - -#: ../eject.c:286 -#, c-format -msgid "%s: invalid argument to --cdspeed/-x option\n" -msgstr "%s: 對於 ---cdspeed/-x 選項而言是無效引數\n" - -#: ../eject.c:312 -#, fuzzy, c-format -msgid "%s: invalid argument to -i option\n" -msgstr "%s: 對於 --auto/-a 選項而言是無效引數\n" - -#: ../eject.c:347 -#, c-format -msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" -msgstr "eject 版本 %s 作者 Jeff Tranter \n" - -#: ../eject.c:357 -#, c-format -msgid "%s: too many arguments\n" -msgstr "%s: 太多引數了\n" - -#: ../eject.c:436 ../eject.c:1064 ../eject.c:1268 -#, c-format -msgid "%s: could not allocate memory\n" -msgstr "%s: 無法指派記憶體\n" - -#: ../eject.c:441 -#, c-format -msgid "%s: FindDevice called too often\n" -msgstr "" - -#: ../eject.c:539 -#, c-format -msgid "%s: CD-ROM auto-eject command failed: %s\n" -msgstr "%s: 光碟自動跳出命令失敗: %s\n" - -#: ../eject.c:556 -#, c-format -msgid "%s: CD-ROM select disc command failed: %s\n" -msgstr "%s: 選擇光碟的命令失敗: %s\n" - -#: ../eject.c:562 -#, c-format -msgid "%s: CD-ROM load from slot command failed: %s\n" -msgstr "%s: 從光碟櫃載入光碟的命令失敗: %s\n" - -#: ../eject.c:566 -#, c-format -msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" -msgstr "%s: IDE/ATAPI 介面的光碟櫃並不被本作業系統的核心所支援\n" - -#: ../eject.c:585 -#, c-format -msgid "%s: CD-ROM tray close command failed: %s\n" -msgstr "%s: 光碟機拖盤關閉的命令失敗: %s\n" - -#: ../eject.c:589 -#, c-format -msgid "%s: CD-ROM tray close command not supported by this kernel\n" -msgstr "%s: 光碟機拖盤關閉的命令並不被本作業系統的核心所支援\n" - -#: ../eject.c:637 -#, fuzzy, c-format -msgid "%s: CD-ROM tray toggle command not supported by this kernel\n" -msgstr "%s: 光碟機拖盤關閉的命令並不被本作業系統的核心所支援\n" - -#: ../eject.c:704 -#, c-format -msgid "%s: CD-ROM select speed command failed: %s\n" -msgstr "%s: 光碟機速度選擇的命令失敗: %s\n" - -#: ../eject.c:709 ../eject.c:810 -#, c-format -msgid "%s: CD-ROM select speed command not supported by this kernel\n" -msgstr "%s: 光碟機速度選擇的命令並不被本作業系統的核心所支援\n" - -#: ../eject.c:727 -#, c-format -msgid "%s: unable to read the speed from /proc/sys/dev/cdrom/info\n" -msgstr "" - -#: ../eject.c:742 -#, c-format -msgid "%s: error while allocating string\n" -msgstr "" - -#: ../eject.c:748 ../eject.c:1370 -#, c-format -msgid "%s: `%s' is a link to `%s'\n" -msgstr "%s: '%s' 被連結到 '%s'\n" - -#: ../eject.c:760 -#, c-format -msgid "%s: error while finding CD-ROM name\n" -msgstr "" - -#: ../eject.c:773 ../eject.c:781 -#, c-format -msgid "%s: error while reading speed\n" -msgstr "" - -#: ../eject.c:930 -#, fuzzy, c-format -msgid "%s: unable to exec umount of `%s': %s\n" -msgstr "%s: 無法執行 /bin/umount '%s': %s\n" - -#: ../eject.c:935 -#, c-format -msgid "%s: unable to fork: %s\n" -msgstr "%s: 無法 fork: %s\n" - -#: ../eject.c:940 -#, c-format -msgid "%s: unmount of `%s' did not exit normally\n" -msgstr "%s: 卸載 '%s' 發生不正常結束\n" - -#: ../eject.c:944 -#, c-format -msgid "%s: unmount of `%s' failed\n" -msgstr "%s: 卸載 '%s' 失敗\n" - -#: ../eject.c:964 -#, c-format -msgid "%s: unable to open `%s'\n" -msgstr "%s: 無法開啟 '%s'\n" - -#: ../eject.c:1010 ../eject.c:1165 -#, c-format -msgid "unable to open %s: %s\n" -msgstr "無法開啟 %s: %s\n" - -#: ../eject.c:1053 -#, c-format -msgid "%s: unable to open /etc/fstab: %s\n" -msgstr "%s: 無法開啟 /etc/fstab 檔: %s\n" - -#: ../eject.c:1127 -#, c-format -msgid "%s: %s doesn't exist, skipping call\n" -msgstr "" - -#: ../eject.c:1176 ../eject.c:1249 -#, fuzzy, c-format -msgid "%s: %s is encrypted on real device %s\n" -msgstr "%s: 使用內定裝置 '%s'\n" - -#: ../eject.c:1185 -#, c-format -msgid "%s: unmounting `%s'\n" -msgstr "%s: 卸載 '%s'\n" - -#: ../eject.c:1275 -#, c-format -msgid "%s: `%s' is a multipartition device\n" -msgstr "%s: `%s' 是多重分割區裝置\n" - -#: ../eject.c:1280 -#, c-format -msgid "%s: `%s' is not a multipartition device\n" -msgstr "%s: `%s' 不是多重分割區裝置\n" - -#: ../eject.c:1293 -#, c-format -msgid "%s: setting CD-ROM speed to auto\n" -msgstr "%s: 設定光碟機速度為自動\n" - -#: ../eject.c:1295 -#, c-format -msgid "%s: setting CD-ROM speed to %dX\n" -msgstr "%s: 設定光碟機速度為 %dX\n" - -#: ../eject.c:1333 -#, c-format -msgid "%s: default device: `%s'\n" -msgstr "%s: 內定裝置為: '%s'\n" - -#: ../eject.c:1341 -#, c-format -msgid "%s: using default device `%s'\n" -msgstr "%s: 使用內定裝置 '%s'\n" - -#: ../eject.c:1350 -#, c-format -msgid "%s: device name is `%s'\n" -msgstr "%s: 裝置名稱為 '%s'\n" - -#: ../eject.c:1356 -#, c-format -msgid "%s: unable to find or open device for: `%s'\n" -msgstr "%s: 找不到或無法開啟裝置: '%s'\n" - -#: ../eject.c:1361 -#, c-format -msgid "%s: expanded name is `%s'\n" -msgstr "%s: 擴展名稱為 '%s'\n" - -#: ../eject.c:1381 -#, c-format -msgid "%s: maximum symbolic link depth exceeded: `%s'\n" -msgstr "%s: 超過符號連結的最大深度值: '%s'\n" - -#: ../eject.c:1389 -#, c-format -msgid "%s: `%s' is mounted at `%s'\n" -msgstr "%s: '%s' 被掛載到 '%s'\n" - -#: ../eject.c:1392 -#, c-format -msgid "%s: `%s' is not mounted\n" -msgstr "%s: '%s' 並未掛載\n" - -#: ../eject.c:1404 -#, c-format -msgid "%s: `%s' can be mounted at `%s'\n" -msgstr "%s: '%s' 可掛載於 '%s'\n" - -#: ../eject.c:1406 -#, c-format -msgid "%s: `%s' is not a mount point\n" -msgstr "%s: '%s' 並不是掛載點\n" - -#: ../eject.c:1413 -#, c-format -msgid "%s: tried to use `%s' as device name but it is no block device\n" -msgstr "" - -#: ../eject.c:1421 -#, c-format -msgid "%s: device is `%s'\n" -msgstr "%s: 裝置是 '%s'\n" - -#: ../eject.c:1423 -#, c-format -msgid "%s: exiting due to -n/--noop option\n" -msgstr "%s: 由於 -n/--noop 選項的因素而跳出\n" - -#: ../eject.c:1438 -#, c-format -msgid "%s: enabling auto-eject mode for `%s'\n" -msgstr "%s: 開啟 '%s' 自動跳出模式\n" - -#: ../eject.c:1440 -#, c-format -msgid "%s: disabling auto-eject mode for `%s'\n" -msgstr "%s: 關閉 '%s' 自動跳出模式\n" - -#: ../eject.c:1450 -#, c-format -msgid "%s: closing tray\n" -msgstr "%s: 關閉拖盤\n" - -#: ../eject.c:1460 -#, fuzzy, c-format -msgid "%s: listing CD-ROM speed\n" -msgstr "%s: 設定光碟機速度為 %dX\n" - -#: ../eject.c:1472 -#, fuzzy, c-format -msgid "%s: unmounting device `%s' from `%s'\n" -msgstr "%s: 卸載 '%s'\n" - -#: ../eject.c:1485 -#, fuzzy, c-format -msgid "%s: toggling tray\n" -msgstr "%s: 關閉拖盤\n" - -#: ../eject.c:1495 -#, c-format -msgid "%s: selecting CD-ROM disc #%d\n" -msgstr "%s: 選擇光碟片編號 #%d\n" - -#: ../eject.c:1513 -#, c-format -msgid "%s: trying to eject `%s' using CD-ROM eject command\n" -msgstr "%s: 嘗試使用 CD-ROM 跳出指令將 '%s' 跳出\n" - -#: ../eject.c:1517 -#, c-format -msgid "%s: CD-ROM eject command succeeded\n" -msgstr "%s: 光碟片跳出指令成功\n" - -#: ../eject.c:1519 -#, c-format -msgid "%s: CD-ROM eject command failed\n" -msgstr "%s: 光碟片跳出指令失敗\n" - -#: ../eject.c:1526 -#, c-format -msgid "%s: trying to eject `%s' using SCSI commands\n" -msgstr "%s: 嘗試使用 SCSI 跳出指令將 '%s' 跳出\n" - -#: ../eject.c:1530 -#, c-format -msgid "%s: SCSI eject succeeded\n" -msgstr "%s: SCSI 跳出成功\n" - -#: ../eject.c:1532 -#, c-format -msgid "%s: SCSI eject failed\n" -msgstr "%s: SCSI 跳出失敗\n" - -#: ../eject.c:1540 -#, c-format -msgid "%s: trying to eject `%s' using floppy eject command\n" -msgstr "%s: 嘗試使用軟碟跳出指令將 '%s' 跳出\n" - -#: ../eject.c:1544 -#, c-format -msgid "%s: floppy eject command succeeded\n" -msgstr "%s: 軟碟跳出命令成功\n" - -#: ../eject.c:1546 -#, c-format -msgid "%s: floppy eject command failed\n" -msgstr "%s: 軟碟跳出命令失敗\n" - -#: ../eject.c:1554 -#, c-format -msgid "%s: trying to eject `%s' using tape offline command\n" -msgstr "%s: 嘗試使用磁帶離線指令將 '%s' 跳出\n" - -#: ../eject.c:1558 -#, c-format -msgid "%s: tape offline command succeeded\n" -msgstr "%s: 磁帶離線命令成功\n" - -#: ../eject.c:1560 -#, c-format -msgid "%s: tape offline command failed\n" -msgstr "%s: 磁帶離線命令失敗\n" - -#: ../eject.c:1566 -#, c-format -msgid "%s: unable to eject, last error: %s\n" -msgstr "%s: 無法跳出,錯誤碼為: %s\n" - -#: ../volname.c:59 -#, c-format -msgid "usage: volname []\n" -msgstr "用法: volname [<裝置檔名>]\n" - -#: ../volname.c:65 ../volname.c:71 ../volname.c:77 -msgid "volname" -msgstr "volname" - -#, fuzzy -#~ msgid "" -#~ "Eject version %s by Jeff Tranter (tranter@pobox.com)\n" -#~ "Usage:\n" -#~ " eject -h\t\t\t\t-- display command usage and exit\n" -#~ " eject -V\t\t\t\t-- display program version and exit\n" -#~ " eject [-vnrsfq] []\t\t-- eject device\n" -#~ " eject [-vn] -d\t\t\t-- display default device\n" -#~ " eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or " -#~ "off\n" -#~ " eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" -#~ " eject [-vn] -t []\t\t-- close tray\n" -#~ " eject [-vn] -x []\t-- set CD-ROM max speed\n" -#~ "Options:\n" -#~ " -v\t-- enable verbose output\n" -#~ " -n\t-- don't eject, just show device found\n" -#~ " -r\t-- eject CD-ROM\n" -#~ " -s\t-- eject SCSI device\n" -#~ " -f\t-- eject floppy\n" -#~ " -q\t-- eject tape\n" -#~ " -p\t-- use /proc/mounts instead of /etc/mtab\n" -#~ " -m\t-- do not unmount device even if it is mounted\n" -#~ msgstr "" -#~ "Eject 版本 %s 作者 Jeff Tranter (tranter@pobox.com)\n" -#~ "用法:\n" -#~ " eject -h\t\t\t\t-- 顯示命令用法後結束\n" -#~ " eject -V\t\t\t\t-- 顯示程式版本後結束\n" -#~ " eject [-vnrsfq] [<名稱>]\t\t-- 跳出裝置\n" -#~ " eject [-vn] -d\t\t\t-- 顯示內定裝置名稱\n" -#~ " eject [-vn] -a on|off|1|0 [<名稱>]\t-- 自動跳出功能開關\n" -#~ " eject [-vn] -c <插槽> [<名稱>]\t-- 切換光碟櫃內的光碟片\n" -#~ " eject [-vn] -t [<名稱>]\t\t-- 關閉拖盤\n" -#~ " eject [-vn] -x <速度> [<名稱>]\t-- 設定光碟機最快速度\n" -#~ "選項:\n" -#~ " -v\t-- 顯示詳細狀態\n" -#~ " -n\t-- 不要跳出,只顯示裝置有找到即可\n" -#~ " -r\t-- 跳出 CD-ROM\n" -#~ " -s\t-- 跳出 SCSI 裝置\n" -#~ " -f\t-- 跳出軟碟片\n" -#~ " -q\t-- 跳出磁帶\n" -#~ " -p\t-- 使用 /proc/mounts 來取代 /etc/mtab\n" -#~ " -m\t-- 即使裝置已掛載也不要卸載裝置\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi -f --floppy -q --tape\n" -#~ " -n --noop -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "長選項:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "" -#~ "Long options:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" -#~ msgstr "" -#~ "長選項:\n" -#~ " -h --help -v --verbose\t -d --default\n" -#~ " -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" -#~ " -r --cdrom -s --scsi\t -f --floppy\n" -#~ " -q --tape -n --noop\t -V --version\n" -#~ " -p --proc -m --no-unmount\n" - -#, fuzzy -#~ msgid "%s: unable to exec /bin/umount of `%s': %s\n" -#~ msgstr "%s: 無法執行 /bin/umount '%s': %s\n" diff -Nru eject-2.1.5+deb1+cvs20081104/po/zh_TW.UTF-8.po eject-2.1.5/po/zh_TW.UTF-8.po --- eject-2.1.5+deb1+cvs20081104/po/zh_TW.UTF-8.po 1970-01-01 00:00:00.000000000 +0000 +++ eject-2.1.5/po/zh_TW.UTF-8.po 2005-09-04 15:34:50.000000000 +0000 @@ -0,0 +1,374 @@ +# Traditional Chinese Messages for eject +# Copyright (C) 2001, 05 Free Software Foundation, Inc. +# Kun-Chung Hsieh , 2001 +# Wei-Lun Chao , 2005 +# +msgid "" +msgstr "" +"Project-Id-Version: eject 2.1.2\n" +"POT-Creation-Date: 2005-08-24 00:00+0200\n" +"PO-Revision-Date: 2005-09-22 11:40+0800\n" +"Last-Translator: Wei-Lun Chao \n" +"Language-Team: Chinese (traditional) \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" + +#: ../eject.c:125 +#, c-format +msgid "" +"Eject version %s by Jeff Tranter (tranter@pobox.com)\n" +"Usage:\n" +" eject -h\t\t\t\t-- display command usage and exit\n" +" eject -V\t\t\t\t-- display program version and exit\n" +" eject [-vnrsfq] []\t\t-- eject device\n" +" eject [-vn] -d\t\t\t-- display default device\n" +" eject [-vn] -a on|off|1|0 []\t-- turn auto-eject feature on or off\n" +" eject [-vn] -c []\t-- switch discs on a CD-ROM changer\n" +" eject [-vn] -t []\t\t-- close tray\n" +" eject [-vn] -x []\t-- set CD-ROM max speed\n" +"Options:\n" +" -v\t-- enable verbose output\n" +" -n\t-- don't eject, just show device found\n" +" -r\t-- eject CD-ROM\n" +" -s\t-- eject SCSI device\n" +" -f\t-- eject floppy\n" +" -q\t-- eject tape\n" +" -p\t-- use /proc/mounts instead of /etc/mtab\n" +" -m\t-- do not unmount device even if it is mounted\n" +msgstr "" +"Eject 版本 %s 作者 Jeff Tranter (tranter@pobox.com)\n" +"用法:\n" +" eject -h\t\t\t\t-- 顯示命令用法後結束\n" +" eject -V\t\t\t\t-- 顯示程式版本後結束\n" +" eject [-vnrsfq] [<名稱>]\t\t-- 跳出裝置\n" +" eject [-vn] -d\t\t\t-- 顯示內定裝置名稱\n" +" eject [-vn] -a on|off|1|0 [<名稱>]\t-- 自動跳出功能開關\n" +" eject [-vn] -c <插槽> [<名稱>]\t-- 切換光碟櫃內的光碟片\n" +" eject [-vn] -t [<名稱>]\t\t-- 關閉拖盤\n" +" eject [-vn] -x <速度> [<名稱>]\t-- 設定光碟機最快速度\n" +"選項:\n" +" -v\t-- 顯示詳細狀態\n" +" -n\t-- 不要跳出,只顯示裝置有找到即可\n" +" -r\t-- 跳出 CD-ROM\n" +" -s\t-- 跳出 SCSI 裝置\n" +" -f\t-- 跳出軟碟片\n" +" -q\t-- 跳出磁帶\n" +" -p\t-- 使用 /proc/mounts 來取代 /etc/mtab\n" +" -m\t-- 即使裝置已掛載也不要卸載裝置\n" + +#: ../eject.c:148 +msgid "" +"Long options:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" +msgstr "" +"長選項:\n" +" -h --help -v --verbose\t -d --default\n" +" -a --auto -c --changerslot -t --trayclose -x --cdspeed\n" +" -r --cdrom -s --scsi\t -f --floppy\n" +" -q --tape -n --noop\t -V --version\n" +" -p --proc -m --no-unmount\n" + +#: ../eject.c:156 +#, c-format +msgid "" +"Parameter can be a device file or a mount point.\n" +"If omitted, name defaults to `%s'.\n" +"By default tries -r, -s, -f, and -q in order until success.\n" +msgstr "" +"參數 可以是裝置檔名或者掛載點。\n" +"不加參數時,內定為 `%s'。\n" +"程式預設會依序測試 -r, -s, -f, 和 -q 直到成功。\n" + +#: ../eject.c:209 +#, c-format +msgid "%s: invalid argument to --auto/-a option\n" +msgstr "%s: 對於 --auto/-a 選項而言是無效引數\n" + +#: ../eject.c:221 +#, c-format +msgid "%s: invalid argument to --changerslot/-c option\n" +msgstr "%s: 對於 --changerslot/-c 選項而言是無效引數\n" + +#: ../eject.c:233 +#, c-format +msgid "%s: invalid argument to --cdspeed/-x option\n" +msgstr "%s: 對於 ---cdspeed/-x 選項而言是無效引數\n" + +#: ../eject.c:273 +#, c-format +msgid "eject version %s by Jeff Tranter (tranter@pobox.com)\n" +msgstr "eject 版本 %s 作者 Jeff Tranter \n" + +#: ../eject.c:283 +#, c-format +msgid "%s: too many arguments\n" +msgstr "%s: 太多引數了\n" + +#: ../eject.c:331 +#, c-format +msgid "%s: could not allocate memory\n" +msgstr "%s: 無法指派記憶體\n" + +#: ../eject.c:404 +#, c-format +msgid "%s: CD-ROM auto-eject command failed: %s\n" +msgstr "%s: 光碟自動跳出命令失敗: %s\n" + +#: ../eject.c:421 +#, c-format +msgid "%s: CD-ROM select disc command failed: %s\n" +msgstr "%s: 選擇光碟的命令失敗: %s\n" + +#: ../eject.c:427 +#, c-format +msgid "%s: CD-ROM load from slot command failed: %s\n" +msgstr "%s: 從光碟櫃載入光碟的命令失敗: %s\n" + +#: ../eject.c:431 +#, c-format +msgid "%s: IDE/ATAPI CD-ROM changer not supported by this kernel\n" +msgstr "%s: IDE/ATAPI 介面的光碟櫃並不被本作業系統的核心所支援\n" + +#: ../eject.c:446 +#, c-format +msgid "%s: CD-ROM tray close command failed: %s\n" +msgstr "%s: 光碟機拖盤關閉的命令失敗: %s\n" + +#: ../eject.c:450 +#, c-format +msgid "%s: CD-ROM tray close command not supported by this kernel\n" +msgstr "%s: 光碟機拖盤關閉的命令並不被本作業系統的核心所支援\n" + +#: ../eject.c:467 +#, c-format +msgid "%s: CD-ROM select speed command failed: %s\n" +msgstr "%s: 光碟機速度選擇的命令失敗: %s\n" + +#: ../eject.c:471 +#, c-format +msgid "%s: CD-ROM select speed command not supported by this kernel\n" +msgstr "%s: 光碟機速度選擇的命令並不被本作業系統的核心所支援\n" + +#: ../eject.c:581 +#, c-format +msgid "%s: unable to exec /bin/umount of `%s': %s\n" +msgstr "%s: 無法執行 /bin/umount '%s': %s\n" + +#: ../eject.c:586 +#, c-format +msgid "%s: unable to fork: %s\n" +msgstr "%s: 無法 fork: %s\n" + +#: ../eject.c:591 +#, c-format +msgid "%s: unmount of `%s' did not exit normally\n" +msgstr "%s: 卸載 '%s' 發生不正常結束\n" + +#: ../eject.c:595 +#, c-format +msgid "%s: unmount of `%s' failed\n" +msgstr "%s: 卸載 '%s' 失敗\n" + +#: ../eject.c:608 +#, c-format +msgid "%s: unable to open `%s'\n" +msgstr "%s: 無法開啟 '%s'\n" + +#: ../eject.c:653 ../eject.c:740 +#, c-format +msgid "unable to open %s: %s\n" +msgstr "無法開啟 %s: %s\n" + +#: ../eject.c:700 +#, c-format +msgid "%s: unable to open /etc/fstab: %s\n" +msgstr "%s: 無法開啟 /etc/fstab 檔: %s\n" + +#: ../eject.c:750 ../eject.c:984 +#, c-format +msgid "%s: unmounting `%s'\n" +msgstr "%s: 卸載 '%s'\n" + +#: ../eject.c:823 +#, c-format +msgid "%s: `%s' is a multipartition device\n" +msgstr "%s: `%s' 是多重分割區裝置\n" + +#: ../eject.c:828 +#, c-format +msgid "%s: `%s' is not a multipartition device\n" +msgstr "%s: `%s' 不是多重分割區裝置\n" + +#: ../eject.c:841 +#, c-format +msgid "%s: setting CD-ROM speed to auto\n" +msgstr "%s: 設定光碟機速度為自動\n" + +#: ../eject.c:843 +#, c-format +msgid "%s: setting CD-ROM speed to %dX\n" +msgstr "%s: 設定光碟機速度為 %dX\n" + +#: ../eject.c:879 +#, c-format +msgid "%s: default device: `%s'\n" +msgstr "%s: 內定裝置為: '%s'\n" + +#: ../eject.c:887 +#, c-format +msgid "%s: using default device `%s'\n" +msgstr "%s: 使用內定裝置 '%s'\n" + +#: ../eject.c:896 +#, c-format +msgid "%s: device name is `%s'\n" +msgstr "%s: 裝置名稱為 '%s'\n" + +#: ../eject.c:901 +#, c-format +msgid "%s: unable to find or open device for: `%s'\n" +msgstr "%s: 找不到或無法開啟裝置: '%s'\n" + +#: ../eject.c:905 +#, c-format +msgid "%s: expanded name is `%s'\n" +msgstr "%s: 擴展名稱為 '%s'\n" + +#: ../eject.c:910 +#, c-format +msgid "%s: `%s' is a link to `%s'\n" +msgstr "%s: '%s' 被連結到 '%s'\n" + +#: ../eject.c:919 +#, c-format +msgid "%s: maximum symbolic link depth exceeded: `%s'\n" +msgstr "%s: 超過符號連結的最大深度值: '%s'\n" + +#: ../eject.c:927 +#, c-format +msgid "%s: `%s' is mounted at `%s'\n" +msgstr "%s: '%s' 被掛載到 '%s'\n" + +#: ../eject.c:929 +#, c-format +msgid "%s: `%s' is not mounted\n" +msgstr "%s: '%s' 並未掛載\n" + +#: ../eject.c:941 +#, c-format +msgid "%s: `%s' can be mounted at `%s'\n" +msgstr "%s: '%s' 可掛載於 '%s'\n" + +#: ../eject.c:943 +#, c-format +msgid "%s: `%s' is not a mount point\n" +msgstr "%s: '%s' 並不是掛載點\n" + +#: ../eject.c:949 +#, c-format +msgid "%s: device is `%s'\n" +msgstr "%s: 裝置是 '%s'\n" + +#: ../eject.c:951 +#, c-format +msgid "%s: exiting due to -n/--noop option\n" +msgstr "%s: 由於 -n/--noop 選項的因素而跳出\n" + +#: ../eject.c:959 +#, c-format +msgid "%s: enabling auto-eject mode for `%s'\n" +msgstr "%s: 開啟 '%s' 自動跳出模式\n" + +#: ../eject.c:961 +#, c-format +msgid "%s: disabling auto-eject mode for `%s'\n" +msgstr "%s: 關閉 '%s' 自動跳出模式\n" + +#: ../eject.c:971 +#, c-format +msgid "%s: closing tray\n" +msgstr "%s: 關閉拖盤\n" + +#: ../eject.c:997 +#, c-format +msgid "%s: selecting CD-ROM disc #%d\n" +msgstr "%s: 選擇光碟片編號 #%d\n" + +#: ../eject.c:1015 +#, c-format +msgid "%s: trying to eject `%s' using CD-ROM eject command\n" +msgstr "%s: 嘗試使用 CD-ROM 跳出指令將 '%s' 跳出\n" + +#: ../eject.c:1019 +#, c-format +msgid "%s: CD-ROM eject command succeeded\n" +msgstr "%s: 光碟片跳出指令成功\n" + +#: ../eject.c:1021 +#, c-format +msgid "%s: CD-ROM eject command failed\n" +msgstr "%s: 光碟片跳出指令失敗\n" + +#: ../eject.c:1027 +#, c-format +msgid "%s: trying to eject `%s' using SCSI commands\n" +msgstr "%s: 嘗試使用 SCSI 跳出指令將 '%s' 跳出\n" + +#: ../eject.c:1031 +#, c-format +msgid "%s: SCSI eject succeeded\n" +msgstr "%s: SCSI 跳出成功\n" + +#: ../eject.c:1033 +#, c-format +msgid "%s: SCSI eject failed\n" +msgstr "%s: SCSI 跳出失敗\n" + +#: ../eject.c:1039 +#, c-format +msgid "%s: trying to eject `%s' using floppy eject command\n" +msgstr "%s: 嘗試使用軟碟跳出指令將 '%s' 跳出\n" + +#: ../eject.c:1043 +#, c-format +msgid "%s: floppy eject command succeeded\n" +msgstr "%s: 軟碟跳出命令成功\n" + +#: ../eject.c:1045 +#, c-format +msgid "%s: floppy eject command failed\n" +msgstr "%s: 軟碟跳出命令失敗\n" + +#: ../eject.c:1051 +#, c-format +msgid "%s: trying to eject `%s' using tape offline command\n" +msgstr "%s: 嘗試使用磁帶離線指令將 '%s' 跳出\n" + +#: ../eject.c:1055 +#, c-format +msgid "%s: tape offline command succeeded\n" +msgstr "%s: 磁帶離線命令成功\n" + +#: ../eject.c:1057 +#, c-format +msgid "%s: tape offline command failed\n" +msgstr "%s: 磁帶離線命令失敗\n" + +#: ../eject.c:1062 +#, c-format +msgid "%s: unable to eject, last error: %s\n" +msgstr "%s: 無法跳出,錯誤碼為: %s\n" + +#: ../volname.c:58 +msgid "usage: volname []\n" +msgstr "用法: volname [<裝置檔名>]\n" + +#: ../volname.c:64 ../volname.c:70 ../volname.c:76 +msgid "volname" +msgstr "volname"